摘要: 题目链接 88. 合并两个有序数组 思路 看到题目的第一感觉就是用双指针进行原地合并,但是 nums1 的元素都在数组头部,如果正序合并的话非常容易破坏 nums1 的结构。 nums1 在数组尾部给我们留出了足够的额外空间,这一部分是不怕被破坏的,所以可以从数组尾部开始遍历,逆序合并。 代码 cl 阅读全文
posted @ 2023-03-07 15:45 Frodo1124 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 题目链接 264. 丑数 II 思路 根据题目中的样例,可以进行拆分 $$ 1, 1×2, 1×3, 2×2, 1×5, 2×3, 2×4, 3×3, 3×4, 3×5 $$ 观察能发现,这些多项式能分成下面三组: $$ 乘 2: 1×2, 2×2, 3×2, 4×2, 5×2, 6×2, 8×2, 阅读全文
posted @ 2023-03-07 15:24 Frodo1124 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 题目链接 1429. 第一个唯一数字 给定一系列整数,插入一个队列中,找出队列中第一个唯一整数。 实现 FirstUnique 类: FirstUnique(int[] nums) 用数组里的数字初始化队列。 int showFirstUnique() 返回队列中的 第一个唯一 整数的值。如果没有唯 阅读全文
posted @ 2023-03-07 14:03 Frodo1124 阅读(62) 评论(2) 推荐(0) 编辑
摘要: 题目链接 4. 寻找两个正序数组的中位数 思路 分治 代码 class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { if(nums1.length > nums2.length){ int[] 阅读全文
posted @ 2023-03-07 13:51 Frodo1124 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题目链接 526. 优美的排列 思路 与【DFS】LeetCode 46. 全排列思路类似。 代码 class Solution { private int result = 0; private boolean[] used; public int countArrangement(int n) 阅读全文
posted @ 2023-03-07 10:22 Frodo1124 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 题目链接 698. 划分为k个相等的子集 思路 这道题的核心在于:将数组划分为k个组,数组的每个元素只有可能属于一个组合. 以题目给的nums = [4, 3, 2, 3, 5, 2, 1], k = 4为例,此时target=5. 划分为4个组就相当于四个组合【】,【】,【】,【】.初始状态下均是 阅读全文
posted @ 2023-03-07 10:07 Frodo1124 阅读(40) 评论(0) 推荐(0) 编辑