当前位置: 首页 > news >正文

如何做相亲网站怎么自己做一个网站平台

如何做相亲网站,怎么自己做一个网站平台,迅雷下载宝 做网站,1网站建设滑动子数组的美丽值 给你一个长度为 n 的整数数组 nums ,请你求出每个长度为 k 的子数组的 美丽值 。 一个子数组的 美丽值 定义为:如果子数组中第 x 小整数 是 负数 ,那么美丽值为第 x 小的数,否则美丽值为 0 。 请你返回一个包含…

滑动子数组的美丽值

给你一个长度为 n 的整数数组 nums ,请你求出每个长度为 k 的子数组的 美丽值 。
一个子数组的 美丽值 定义为:如果子数组中第 x 小整数 是 负数 ,那么美丽值为第 x 小的数,否则美丽值为 0 。
请你返回一个包含 n - k + 1 个整数的数组,依次 表示数组中从第一个下标开始,每个长度为 k 的子数组的 美丽值 。
子数组指的是数组中一段连续 非空 的元素序列。
示例 1:
输入:nums = [1,-1,-3,-2,3], k = 3, x = 2
输出:[-1,-2,-2]
解释:总共有 3 个 k = 3 的子数组。
第一个子数组是 [1, -1, -3] ,第二小的数是负数 -1 。
第二个子数组是 [-1, -3, -2] ,第二小的数是负数 -2 。
第三个子数组是 [-3, -2, 3] ,第二小的数是负数 -2 。
示例 2:
输入:nums = [-1,-2,-3,-4,-5], k = 2, x = 2
输出:[-1,-2,-3,-4]
解释:总共有 4 个 k = 2 的子数组。
[-1, -2] 中第二小的数是负数 -1 。
[-2, -3] 中第二小的数是负数 -2 。
[-3, -4] 中第二小的数是负数 -3 。
[-4, -5] 中第二小的数是负数 -4 。
示例 3:
输入:nums = [-3,1,2,-3,0,-3], k = 2, x = 1
输出:[-3,0,-3,-3,-3]
解释:总共有 5 个 k = 2 的子数组。
[-3, 1] 中最小的数是负数 -3 。
[1, 2] 中最小的数不是负数,所以美丽值为 0 。
[2, -3] 中最小的数是负数 -3 。
[-3, 0] 中最小的数是负数 -3 。
[0, -3] 中最小的数是负数 -3 。
提示:
n == nums.length
1 <= n <= 105
1 <= k <= n
1 <= x <= k
-50 <= nums[i] <= 50

解题思路

  • 滑动数组 + 暴力枚举

题目是要求计算定长子数组的美丽值,所以采用定长滑动窗口进行枚举

接下来是计算美丽值,也就是找到子数组的第X小的数

由于-50 <= nums[i] <= 50 也就是数组的值范围比较小,所以可以采用一个数组 arr 记录各个数字出现的次数,然后遍历这个数组,找到第X小的数,暴力枚举出美丽值

关于如何找到第X小的数:我们用数组记录各个数字出现的次数时,由于数组的小标大于等于0,所以我们要对数字+50,那么数组的下标-50就是对应的数字。因为第X小的数若是非负数,美丽值则为0,所以只需要计算负数的出现次数,暴力枚举只需要枚举到数组的49下标。在暴力枚举中,我们统计出现的数字的个数 sum,也就是对 arr 的数据进行累加,当 sum 首次大于等于 x 时,此时的下标-50就是第X小的数,也就是美丽值,然后退出循环。若循环正常结束,则美丽值为0。

代码如下↓

/*** Note: The returned array must be malloced, assume caller calls free().*/
int* getSubarrayBeauty(int* nums, int numsSize, int k, int x, int* returnSize){int compare(int* a,int* b){return *a - *b;}int f=-1;int* res = (int*)malloc(sizeof(int)*(numsSize-k+1));int arr[101];memset(arr,0,sizeof(arr));int l=0,r=k-1;*returnSize = numsSize-k+1;for(int i=0;i<k;i++){arr[nums[i]+50]++;}int sum=0;int ff=1;for(int i=0;i<50;i++){sum+=arr[i];if(sum>=x){res[++f] = i-50;ff=0;break;}}if(ff){res[++f] = 0;}while(r<numsSize-1){arr[nums[l]+50]--;l++;r++;arr[nums[r]+50]++;sum=0;ff=1;for(int i=0;i<50;i++){sum+=arr[i];if(sum>=x){res[++f] = i-50;ff=0;break;}}if(ff){res[++f] = 0;}}return res;
}
http://www.dinnco.com/news/29065.html

相关文章:

  • 网站建设新手推广平台免费b2b网站大全
  • 贵德网站建设如何开通自己的网站
  • 想做个网站推广什么软件可以排名次
  • 做游戏模型挣钱的网站成都seo经理
  • 两学一做微网站交流百度爱采购怎么推广
  • 长沙比较出名的企业网站运营优化培训
  • 网站被电脑管家拦截做301跳转网络整合营销4i原则
  • 阿里云一键wordpress南京百度搜索优化
  • 北京上地做网站关键字排名查询工具
  • 株洲网站制作公司网页制作app
  • 装修公司网站开发aso优化师
  • 详情页设计费南阳本地网络推广优化公司
  • 网站建设的主流架构有哪些sem运营
  • 高仿做的好点的网站购买友情链接网站
  • 网站如何做中英文切换交换链接营销成功案例
  • 搜索引擎推广公司淘宝seo搜索引擎原理
  • 钟表珠宝商城网站建设打开网站搜索
  • 动漫网站建设前期策划seo排名资源
  • 杭州劳保网站制作站长素材免费下载
  • 长春市星宿科技网站建设公司怎么样制作网站需要什么软件
  • 介绍小说的网站模板下载2022年可以打开的网址
  • 自己做网站需要购买服务器吗广告优化师的工作内容
  • 天津城建设计院网站友情链接购买平台
  • 网站单页面微信怎么做推广
  • wordpress 文章付费查看武汉seo服务
  • 大学网站建设多少钱十大seo公司
  • p2p网站建设报价建设网站推广
  • 广州做网站的公司网站主页
  • 初创企业网站建设流程网络营销的概述
  • 长宁专业做网站做seo必须有网站吗