Viết hàm nhận 4 điểm (mảng 2 số), kiểm tra có tạo thành hình vuông không. Trả về true/false.
Ví dụ: [1,0],[-1,0],[0,1],[0,-1] → true (vuông diện tích 4).
Ví dụ
const c1 = [1, 0]; const c2 = [-1, 0]; const c3 = [0, 1]; const c4 = [0, -1];
const validSquare = (c1, c2, c3, c4) => {
const dist = (a, b) => Math.sqrt((a[0]-b[0])**2 + (a[1]-b[1])**2);
const points = [c1, c2, c3, c4];
const lens = new Set();
for (let i = 0; i < points.length; i++) {
for (let j = i + 1; j < points.length; j++) {
if (points[i][0] == points[j][0] && points[i][1] == points[j][1]) return false;
lens.add(dist(points[i], points[j]));
}
}
return lens.size === 2;
};
console.log(validSquare(c1, c2, c3, c4));
Kết quả
true