116 次浏览
这里我们有一个包含一些元素的数组A。我们的任务是找到几何平均值最大的子集。假设A = [1, 5, 7, 2, 0],那么具有最大几何平均值的子集将是[5, 7]。为了解决这个问题,我们将遵循一个技巧,我们不会求平均值,因为我们知道最大的两个元素将构成最大的几何平均值,所以最大的两个元素将作为子集返回。示例 #include <iostream> using namespace std; void largestGeoMeanSubset(int arr[], int n) { if (n < 2) { cout << "Invalid Input"; return; } int max = arr[0]; int second_max = arr[1]; if (second_max > max) { int temp = max; max = second_max; second_max = temp; } for (int i = 2; i < n; i++) { if (arr[i] > max) { second_max = max; max = arr[i]; } else if (arr[i] > second_max) { second_max = arr[i]; } } cout << "[" << second_max << ", " << max << "]"... 阅读更多
539 次浏览
假设我们在K维空间中有n个不同的点,n的值在(2, 105)范围内,k的值在(1到5)范围内。我们必须确定一个点,使得从结果点到n个点的曼哈顿距离之和最小。两点P1(x1, y1)和P2(x2, y2)之间的曼哈顿距离是|x1 – x2| + |y1 – y2|。假设维度是3,并且有三个点,例如(1, 1, 1),(2, 2, 2),(3, 3, 3),则输出将是(2, 2, 2)。为了解决这个问题,我们必须… 阅读更多
914 次浏览
FieldNamingStrategy是一种在Gson中提供自定义字段命名的机制。这允许客户端代码将字段名转换为特定约定,该约定不受正常的Java字段声明规则的支持。translateName()方法将在每个字段名前添加字符串“pre_”。在下面的示例中,我们可以实现自定义FieldNamingStrategy。示例 import java.lang.reflect.Field; import com.google.gson.*; public class GsonFieldNamingStrategyTest { public static void main(String[] args) { Employee emp = new Employee(); emp.setEmpId(115); emp.setFirstName("Adithya"); emp.setLastName("Jai"); CustomFieldNamingStrategy customFieldNamingStrategy = new CustomFieldNamingStrategy(); ... 阅读更多
320 次浏览
假设我们有一个数组A,其中有n个不同的元素。我们必须从数组A中找到一对(x, y),使得x和y之间的差值与给定的差值d相同。假设元素列表如下:A = [10, 15, 26, 30, 40, 70],给定的差值为30,则该对将是(10, 40)和(30, 70)。为了解决这个问题,我们将假设数组已排序,然后从左边开始,我们将使用两个指针来指向元素,最初第一个指针‘i’将指向第一个元素,… 阅读更多
133 次浏览
假设我们有一个数组A,其中有n个不同的元素。我们必须从数组A中找到一对(x, y),使得x和y的乘积最大。数组可能包含正数或负数元素。假设一个数组如下:A = [-1, -4, -3, 0, 2, -5],则该对将是(-4, -5),因为乘积最大。为了解决这个问题,我们必须跟踪四个数字:positive_max,positive_second_max,negative_max,negative_second_max。最后,如果(positive_max * positive_second_max)大于(negative_max * negative_second_max),则返回正数对,否则返回… 阅读更多
342 次浏览
假设我们有两个具有不同元素数量的数组。我们必须找到一对元素(x, y),其中x存在于第一个数组中,y存在于第二个数组中。将选择这对元素,以便在将这两个数组之间的元素交换后,这两个数组的和将相同。假设第一个数组A包含[4, 1, 2, 2, 1, 1],B包含[3, 3, 6, 3],现在A的和是11,B的和是15,我们将取一对,例如(1, 3),… 阅读更多
288 次浏览
这里我们将看到一个问题,我们将取一个数字n,我们必须找到另一个值x,使得x加上x的数字和等于给定的数字n。假设n的值是21。该程序将返回一个数字x = 15,因为15加上15的数字和,即15 + 1 + 5 = 21 = n。为了解决这个问题,我们必须遵循简单的方法。我们将迭代1到n,在每次迭代中,我们将查看数字及其数字和是否… 阅读更多
126 次浏览
这里我们将看到如何在给定的数组中查找不动点。如果数组中的一个元素的值与其索引相同,则该元素称为不动点。如果存在,则该程序将返回该值,否则返回-1。数组也可以包含负数。数据元素已排序。这里允许数组中存在重复元素。这里我们将使用二分查找方法在O(log n)时间内解决这个问题。但是我们需要一些修改,如果使用正常的二分查找,则它可能会在重复元素的情况下失败。要检查左边,我们… 阅读更多
191 次浏览
这里我们将看到如何在给定的数组中查找不动点。如果数组中的一个元素的值与其索引相同,则该元素称为不动点。如果存在,则该程序将返回该值,否则返回-1。数组也可以包含负数。数据元素已排序。这里我们将使用二分查找方法在O(log n)时间内解决这个问题。首先,我们将检查中间元素是否是不动点,如果是,则返回它,如果不是,则将有两种情况,如果… 阅读更多
87 次浏览
这里我们将看到一个有趣的问题,我们将找到一对(x, y),其中x和y都在范围内,所以l