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

美容整形网站模板亚洲高清砖码区2022幼童

美容整形网站模板,亚洲高清砖码区2022幼童,最近国家新闻,外贸网站都有哪些给定两个以 非递减顺序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 (u,v)#xff0c;其中第一个元素来自 nums1#xff0c;第二个元素来自 nums2 。 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。 示例 1: 输入: nums1 [1,7,11], nums2 …给定两个以 非递减顺序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 (u,v)其中第一个元素来自 nums1第二个元素来自 nums2 。 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。 示例 1: 输入: nums1 [1,7,11], nums2 [2,4,6], k 3 输出: [1,2],[1,4],[1,6] 解释: 返回序列中的前 3 对数 [1,2],[1,4],[1,6],[7,2],[7,4],[11,2],[7,6],[11,4],[11,6] 示例 2: 输入: nums1 [1,1,2], nums2 [1,2,3], k 2 输出: [1,1],[1,1] 解释: 返回序列中的前 2 对数 [1,1],[1,1],[1,2],[2,1],[1,2],[2,2],[1,3],[1,3],[2,3] 二分 class Solution { public:vectorvectorint kSmallestPairs(vectorint nums1, vectorint nums2, int k) {int m nums1.size();int n nums2.size();auto count [](int target){int start 0;int end n - 1;long long cnt 0;while(start m end 0){if(nums1[start] nums2[end] target){end--;}else{cnt end 1;start;}}return cnt;};int left nums1[0] nums2[0];int right nums1[m-1] nums2[n-1];while(left right){int mid (left right) 1;if(count(mid) k){left mid 1;}else{right mid;}}vectorvectorint ans;int pos n - 1;for(int i 0; i m; i){while(pos 0 nums1[i] nums2[pos] left){pos--;}for(int j 0; j pos k 0; k--, j){ans.push_back({nums1[i], nums2[j]});}}pos n - 1;for(int i 0; i m k 0; i){int start1 i;while(i m - 1 nums1[i] nums1[i1]){i;}while(pos 0 nums1[i] nums2[pos] left){pos--;}int start2 pos;while(pos 0 nums2[pos] nums2[pos-1]){pos--;}if(nums1[i] nums2[pos] ! left){continue;}int count min((long)k, (long)(i - start1 1) * (start2 - pos 1));for(int j 0; j count k 0; j, k--){ans.push_back({nums1[i], nums2[pos]});}}return ans;} };使用二分法实际上就是另外一种使用试探的方式。nums1[0] nums2[0]是两个数组元素和的最小值组成二分下界nums1[m-1] nums2[n-1]组成二分上界。我们使用二分查找查找出当和为多少的时候刚好是第k对数字。 我们定义一个count函数count函数的目的实际上就是计算出小于等于我们传入的mid的组合一共有多少个以便与k进行比较从而找出我们最终需要的和是多少。 最终二分查找结束left便是和第k小的元素对的和。由于我们最终要返回的是前k小的所有的数组对。那么我们在代码中首先先要找出和比left小的数组对是什么。 vectorvectorint ans;int pos n - 1;for(int i 0; i m; i){while(pos 0 nums1[i] nums2[pos] left){pos--;}for(int j 0; j pos k 0; k--, j){ans.push_back({nums1[i], nums2[j]});}}接下来我们要查找出和等于left的元素对 pos n - 1;for(int i 0; i m k 0; i){int start1 i;while(i m - 1 nums1[i] nums1[i1]){i;}while(pos 0 nums1[i] nums2[pos] left){pos--;}int start2 pos;while(pos 0 nums2[pos] nums2[pos-1]){pos--;}if(nums1[i] nums2[pos] ! left){continue;}int count min((long)k, (long)(i - start1 1) * (start2 - pos 1));for(int j 0; j count k 0; j, k--){ans.push_back({nums1[i], nums2[pos]});}}最后返回ans即是答案
http://www.hkea.cn/news/14434428/

相关文章:

  • seo优化网站优化网站开发需要多少钱点评
  • 哪个公司的网站制作做网站一定要用云解析吗
  • 网站模板开发主要作用深圳微信公众平台开发网站开发
  • 国企网站建设的意义如何苗木网站建设
  • 广东电商网站建设软件技术开发合同范本
  • 网站优化三要素小程序定制公司哪里有
  • 学校类网站特点电脑做服务器发布网站
  • 中小企业建站是什么国外招工信息最新招聘信息
  • 免费网站认证网站文章收录
  • 川畅咨询 做网站多少钱上海这两天出什么大事了
  • 宁波城乡住房建设厅网站首页萝岗网站建设
  • 述建设一个网站的具体步骤网站seo优化价格
  • 信息网站怎么做亚马逊紫鸟超级浏览器
  • 门户网站优化手机版房屋3d效果图设计软件
  • 佛山市云时代网站建设公司wordpress页眉编辑
  • 做门用什么网站好贵州省建设厅住房和城乡建设官网
  • 微网站建设找哪家佛山营销型建设网站
  • 长沙营销型网站建设费用网站新版建设中
  • php做网站好吗网站推广的目标
  • 临沂网站建设费用wordpress伪静态优化
  • 用asp.net做的网站贴吧做一个企业网站要多少钱
  • 上海网站建设软件下载做php网站的话要学什么语言
  • 怎么用视频做网站登录的背景百度网站评级
  • 塔城北京网站建设4500双休一天8小时
  • 如何做影视网站的标题网页无法访问的原因
  • 河北高端网站建设旅游wordpress
  • 英语培训建设网站方案北京做网站公司哪家好
  • 办公内网网站建设标准计算机软件技术主要学什么
  • 宣传信息网网站规划书网站建设怎么好
  • 大型网站许多网站wordpress 打卡插件