• “黑神话·悟空”免安装在线玩,无视显卡等硬件要求!!
  • √ 游戏免下载安装 √ 5分钟随开随玩 √ 关机不计费!低至¥14.90/月!
🔥进入竞技-直面天命🔥

给定一个从0开始的数组nums和一个非负整数 k。在一次操作中,你可以做以下操作:。选择一个之前未选择过的下标i,范围为[0.nums.length - 1].将nums[i]替换为范围[nums[i] - k,nums[i]+k]内的任意整数(包含两端)。在应用任意次数的操作后,返回数组nums的最大可能分数。数组分数是“数组中最多的重复元素个数”注意,你只能对每个下标应用一次操作。 用c++实现

时间2023-09-16 20:18:50 提问来自 浙江省湖州市 的网友 分类创作 浏览283
```c #include <stdio.h> #include <stdlib.h> int maxScore(int* nums, int numsSize, int k) { int *freq = (int *)malloc(sizeof(int) * (numsSize + 1)); memset(freq, 0, sizeof(int) * (numsSize + 1)); int maxFreq = 0; for (int i = 0; i < numsSize; i++) { int left = nums[i] - k; int right = nums[i] + k; int count = 0; for (int j = 0; j < numsSize; j++) { if (nums[j] >= left && nums[j] <= right) { count++; } } freq[count]++; maxFreq = fmax(maxFreq, count); } int ans = 0; for (int i = 1; i <= maxFreq; i++) { ans += (i * (i - 1)) / 2 * freq[i]; } free(freq); return ans; } int main() { int nums[] = {1, 10, 4}; int numsSize = sizeof(nums) / sizeof(nums[0]); int k = 3; int result = maxScore(nums, numsSize, k); printf("最大可能分数为: %d ", result); return 0; } ```

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 给定一个从0开始的数组 nums 和一个非负整数 k。在一次操作中,你可以做以下操作: 。选择一个之前未选择过的下标i,范围为 [0.nums.length - 1]. 将 nums[i] 替换为范围[nums[i] - k,nums[i] + k]内的任意整数 (包含两端)。 在应用任意次数的操作后,返回数组nums的最大可能分数。 数组 分数 是“数组中最多的重复元素个数” 注意,你只能对每个下标应用一次操作。 下一篇 当代青年能为国家统一、民族复兴做些什么?800字大学生论文