您的位置:首页 > 教育 > 培训 > 最近军事新闻热点大事件2022_投票网页怎么制作_nba最新消息新闻_搭建网站的步骤

最近军事新闻热点大事件2022_投票网页怎么制作_nba最新消息新闻_搭建网站的步骤

2025/6/11 10:27:43 来源:https://blog.csdn.net/weixin_52205764/article/details/144162251  浏览:    关键词:最近军事新闻热点大事件2022_投票网页怎么制作_nba最新消息新闻_搭建网站的步骤
最近军事新闻热点大事件2022_投票网页怎么制作_nba最新消息新闻_搭建网站的步骤

参考的这个博客:
https://zhuanlan.zhihu.com/p/457239781
然后看这个代码我想到了另外一种方法,就是一步一步往里加元组 ( i , j ) (i,j) (i,j),看代码就知道了,不过需要做一步去重,去重不能用 i n t [ ] int[] int[]做,转换成字符串做比较好。

class Solution {public List<List<Integer>> kSmallestPairs(int[] nums1, int[] nums2, int k) {List<List<Integer>> ans = new ArrayList<>();PriorityQueue<int[]> q = new PriorityQueue<>((a,b)->((nums1[a[0]]+nums2[a[1]])-(nums1[b[0]]+nums2[b[1]])));// for(int i=0;i<nums1.length;i++){//     q.add(new int[]{i,0});// }q.add(new int[]{0,0});HashMap<String,Integer> mp = new HashMap<String,Integer>();mp.put((Arrays.toString(new int[]{0,0})),1);while(ans.size()<k && !q.isEmpty()){int[] poll = q.poll();int a = poll[0];int b = poll[1];ArrayList<Integer> arr = new ArrayList<Integer>();arr.add(nums1[a]);arr.add(nums2[b]);ans.add(arr);if(b+1<nums2.length && !mp.containsKey(Arrays.toString(new int[]{a,b+1}))){mp.put((Arrays.toString(new int[]{a,b+1})),1); q.add(new int[]{a,b+1});} if(a+1<nums1.length && !mp.containsKey(Arrays.toString(new int[]{a+1,b}))){q.add(new int[]{a+1,b}); mp.put((Arrays.toString(new int[]{a+1,b})),1);} if(a+1<nums1.length && b+1<nums2.length && !mp.containsKey(Arrays.toString(new int[]{a+1,b+1}))){q.add(new int[]{a+1,b+1});mp.put((Arrays.toString(new int[]{a+1,b+1})),1);}   }return ans;}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com