leetcode刷题
1、78. 子集
问题
解析
1 | 非正常解法:直接看输入、输出,能找出规律。每个数字都会和前面的数字进行合并,例如1:1和空集(不包含),2:2和空集(不包含),2和1,3:3和空集(不包含),3和1,3和2,3和2和1 |
代码
1 | class Solution { |
2、2396. 严格回文的数字
题目
解析
1 | 此题中的任何数的n-2进制数都是12(非十进制,n-2进制), 也可以暴力每个进制都去匹配一下 |
代码
1 | class Solution { |
3、1470. 重新排列数组
题目
解析
1 | 一个数组对半拼接 |
代码
1 | class Solution { |
3、LCP 06. 拿硬币
题目
解析
1 | 偶数 = 硬币数 / 2, 奇数 = 硬币数 / 2 + 1 |
代码
1 | class Solution { |
4、1769. 移动所有球到每个盒子所需的最小操作数
题目
解析
1 | 1、直接看示例,当前二进制数的前面到当前的距离(数字为1)和后面的所有距离的和(数字为1)。两层循环,外层遍历当前所有二进制数,内层遍历当前的前面的和后面的数字为1的距离。然后每个数字装到对应下标中。 |
代码
1 | class Solution { |
5、2656. K 个元素的最大和
题目
解析
1 | 先求出最大值,然后叠加 |
代码
1 | class Solution { |
6、LCP 67. 装饰树
题目
解析
1 | 递归,先判定左子树在判定右子树。对于左边 root.left = new TreeNode(-1, expandBinaryTree(root.left), null); 右边同理 |
代码
1 | /** |
7、2894. 分类求和并作差
题目
解析
1 | 遍历,然后统计能整除的和不能整除,最后相减 |
代码
1 | class Solution { |
8、1689. 十-二进制数的最少数目
题目
解析
1 | 找出最大数字即可 |
代码
1 | class Solution { |
9、1476. 子矩形查询
题目
解析
1 | 矩阵遍历,获取 |
代码
1 | class SubrectangleQueries { |
10、1282. 用户分组
题目
解析
1 | 将groupSizes中的数字放在相同长度的分组中。例如示例2中的groupSizes中的2有两个,故放在一个长度为2的数组中(存放的是groupSizes这个数组对应数组的下标), 利用hashmap来统计相同数字,和长度,但是没有集合数组快 |
代码
1 | class Solution { |
11、237. 删除链表中的节点
题目
解析
1 | 没有head,将当前node的下一个值前移,并且node.next = node.next.next |
代码
1 | /** |
12、2011. 执行操作后的变量值
题目
解析
1 | 判定自增自减 |
代码
1 | class Solution { |
13、1773. 统计匹配检索规则的物品数量
题目
解析
1 | 遍历比较匹配 |
代码
1 | class Solution { |
14、
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 🍍Blog!