MảngSắp xếp
Mô tả
Anh Long là kỹ sư mạng của Viettel, phụ trách triển khai trạm tiếp sóng 5G dọc theo một tuyến quốc lộ trải dài thẳng tắp qua nhiều khu dân cư. Mỗi khu dân cư được ghi nhận tọa độ vị trí (tính bằng kilômét từ điểm mốc gốc). Để đảm bảo chất lượng sóng tốt nhất với chi phí tối ưu, anh Long cần xác định khoảng cách nhỏ nhất giữa hai điểm dân cư có tọa độ khác nhau, làm cơ sở lên phương án phủ sóng liên tục dọc tuyến.
Nhiệm vụ của bạn: Cho một mảng gồm n số nguyên biểu diễn tọa độ các điểm dân cư, hãy tìm khoảng cách nhỏ nhất (tức là giá trị tuyệt đối của hiệu tọa độ) giữa hai phần tử có giá trị khác nhau.
Đầu vào
- Một mảng số nguyên
diemDanCugồmnphần tử, mỗi phần tử là tọa độ của một điểm dân cư.
Đầu ra
- Trả về một số nguyên là khoảng cách nhỏ nhất giữa hai phần tử khác giá trị trong mảng.
- Nếu không tồn tại hai phần tử khác nhau (mảng có dưới 2 phần tử hoặc tất cả phần tử bằng nhau), trả về
-1.
Ràng buộc
2 <= n <= 10^5-10^9 <= diemDanCu[i] <= 10^9
Ví dụ
Ví dụ 1:
- Đầu vào:
[4, 2, 1, 7, 5] - Đầu ra:
1 - Giải thích: Sắp xếp mảng được
[1, 2, 4, 5, 7]. Khoảng cách giữa các cặp kề nhau lần lượt là1, 2, 1, 2. Giá trị nhỏ nhất là1(cặp1-2hoặc4-5).
Ví dụ 2:
- Đầu vào:
[3, 3, 3] - Đầu ra:
-1 - Giải thích: Tất cả điểm dân cư nằm cùng tọa độ, không tồn tại hai phần tử khác giá trị, nên trả về
-1.