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

json做网站的数据库免费seo在线工具

json做网站的数据库,免费seo在线工具,犀牛云建设网站,游戏官网制作文章目录 题目描述解题思路代码 题目链接 题目描述 给定两个以 非递减顺序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 (u,v)#xff0c;其中第一个元素来自 nums1#xff0c;第二个元素来自 nums2 。 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (… 文章目录 题目描述解题思路代码 题目链接 题目描述 给定两个以 非递减顺序排列 的整数数组 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] 提示: 1 nums1.length, nums2.length 105 -109 nums1[i], nums2[i] 109 nums1 和 nums2 均为 升序排列 1 k 104 k nums1.length * nums2.length 解题思路 参考 多路归并的方法来解决这个问题因为我们是找前k个最小的数那么我们可以这样来 令 nums1 的长度为 nnums2 的长度为 m所有的点对数量为 n×m。 其中每个 nums1[i] 参与所组成的点序列为 [(nums1[0],nums2[0]),(nums1[0],nums2[1]),…,(nums1[0],nums2[m−1])] [(nums1[1],nums2[0]),(nums1[1],nums2[1]),…,(nums1[1],nums2[m−1])] [(nums1[n−1],nums2[0]),(nums1[n−1],nums2[1]),…,(nums1[n−1],nums2[m−1])] 由于 nums1 和 nums2 均已按升序排序因此每个 nums1[i] 参与构成的点序列也为升序排序这引导我们使用「多路归并」来进行求解。 怎么做呢 既然是多路排序那就是把以前的二路排序扩展一下现在我们使用n路排序我们按照上面的分法就可以把序列分成n行然后我们可以在这n行中每次选最小的一个就好啦这样选k次就是我们要的答案了。 具体怎么实现呢 我们其实的时候买把这n个序列的第一个元素以二元组i,j入队优先队列或者是小根堆其中 i 为该点对中 nums1[i] 的下标j 为该点对中 nums2[j]的下标这里可以有一个小优化我们始终确保nums1为两数组中长度较小的那个然后通过标记来记录是否发生过交换确保答案的点顺序的正确性。 每次从优先队列中取出堆顶元素这个堆顶就是当前未被加入到答案的所有点对中的最小值加入答案并将该点对所在序列的下一位如果有的话加入到优先队列。 代码 class Solution {boolean flag true;public ListListInteger kSmallestPairs(int[] nums1, int[] nums2, int k) {int n nums1.length, m nums2.length;if(n m !(flag false))return kSmallestPairs(nums2, nums1, k);ListListInteger ans new ArrayList();PriorityQueueint[] q new PriorityQueue((a,b) - (nums1[a[0]] nums2[a[1]]) - (nums1[b[0]] nums2[b[1]]));// 如果nk的话那我们其实只需要建立nums1的前k个序对就够了for(int i0; iMath.min(n, k) ;i){q.add(new int[]{i,0});}while(ans.size() k !q.isEmpty()){int[] poll q.poll();int a poll[0], b poll[1];ans.add(new ArrayList(){{add(flag ? nums1[a] : nums2[b]);add(flag ? nums2[b] : nums1[a]);}});if(b1 m)q.add(new int[]{a, b1});}return ans;} }
http://www.hkea.cn/news/14477942/

相关文章:

  • 网站怎样做301跳转网站开发培训班 上地
  • 腾讯云做网站步骤深圳网站建设怎么办
  • 国外外贸网站有哪些问题电商模板网站
  • 网站开发需求分析实例北京网站优化wyhseo
  • 建平台网站费用内蒙古建设厅网站
  • 销售类网站开发域名到期了网站会打不开吗
  • 网站开发问题论文学校网站建设与维护
  • 沈阳网站建设优化企业西安百度关键词包年
  • 网站域名查询工具怎么制作网站程序
  • 青岛易龙网站建设深圳最近流感多吗
  • wordpress 多站点 404企业品牌网站建设我们的优势
  • 做二手电脑的网站wordpress换域名修改
  • 怎么制作小网站 不用域名的连云港seo优化
  • 网站401错误wordpress文档chm
  • 国内网站设计案例seo网站制作
  • 招远网站建设多少钱营销渠道模式有哪些
  • 网站建设方案 市场分析wordpress自定义样式
  • dedecms 一键更新网站电子商务网页设计模板
  • 深圳网站建设 营销网络规划设计师通过率最低
  • 免费正能量不良网站推荐电商网站的二级菜单怎么做
  • 阿里云搭建网站教程怎么查网站的备案信息
  • 自己做的网站如何让百度搜索交换友情链接时需要注意的事项
  • 服务佳的广州网站建设宁德建设银行网站
  • 石家庄城乡建设厅网站内存数据库 网站开发
  • 正规手机网站建设平台大厂县城乡建设局网站
  • 仿唧唧帝笑话门户网站源码带多条采集规则 织梦搞笑图片视频模板搜索引擎收录
  • 修改网站参数阿里云wordpress数据库迁移
  • 网站开发工具选择做班级玩网站做哪些方面
  • wordpress mirana东莞百度seo电话
  • 福州全网网站建设山东诚铭建设机械有限公司网站