تابعی ایجاد کنید که اگر سه نقطه روی یک خط قرار داشته باشند، True
و در غیر این صورت False
برگرداند. هر نقطه به صورت یک لیست شامل مختصات x و y نمایش داده میشود.
نمونه ورودی و خروجی
SameLine([[0, 0], [1, 1], [3, 3]]) ➞ True
SameLine([[-2, -1], [2, 1], [0, 0]]) ➞ True
SameLine([[-2, 0], [-10, 0], [-8, 0]]) ➞ True
نکات
- به حالت خاص خطوط عمودی (vertical) توجه کنید.
Assert.True(Backendbaz.SameLine(new int[][] { new int[] { 0, 0 }, new int[] { 1, 1 }, new int[] { 3, 3 } })); Assert.True(Backendbaz.SameLine(new int[][] { new int[] { -2, -1 }, new int[] { 2, 1 }, new int[] { 0, 0 } })); Assert.True(Backendbaz.SameLine(new int[][] { new int[] { -2, 0 }, new int[] { -10, 0 }, new int[] { -8, 0 } })); Assert.False(Backendbaz.SameLine(new int[][] { new int[] { 0, 0 }, new int[] { 1, 1 }, new int[] { 1, 2 } })); Assert.False(Backendbaz.SameLine(new int[][] { new int[] { 3, 4 }, new int[] { 3, 5 }, new int[] { 6, 6 } }));
نظرات