假设我们有一些点和一个整数 k。我们必须找到一个以 (0, 0) 为中心的圆的最小半径,以覆盖 k 个点。因此,如果点类似于 (1, 1), (-1, -1), (1, -1),并且 k = 3,则半径将为 2。在这里,我们将找到每个点与 (0, 0) 之间的欧几里德距离,然后对距离进行排序,并在排序后返回第 k 个元素。示例 实时演示#include #include using namespace std; struct point{ int x, y; }; int minRadius(int k, point points[], int n) { int dist[n]; for (int i = ... 阅读更多
假设我们有一个包含 n 个元素的数组。我们必须找到数组中第一个、第二个和第三个最小元素。第一个最小值是数组的最小值,第二个最小值是大于第一个最小值的最小值,依此类推,第三个最小值是大于第二个最小值的最小值。扫描每个元素,然后检查元素,并关联第一个、第二个和第三个最小元素条件来解决此问题。示例#include using namespace std; int getThreeMins(int arr[], int n) { int first = INT_MAX, sec = INT_MAX, third = INT_MAX; for (int i ... 阅读更多