Leetcode
老实巴交的小菜
别看我别看我 再看就把你也变成菜鸡
展开
-
leetcode 914卡牌分组(Java
leetcode 914卡牌分组(Java题目翻译题目分析代码 题目翻译 给定一副牌,每张牌上都写着一个整数。 存在一个X,使得所有相同的数字可以分为X组。 题目分析 相同数字的数量问题 想到用map来存储一下每个数字的相同个数 所以①:遍历数组,创建map 每一个相同的数字都要分成X组,也就是map中每个数字的value值都要能整除X,也就是X是map中所有value值的公约数 所以②:遍历...原创 2020-03-27 23:11:50 · 176 阅读 · 0 评论 -
leetcode 876 链表的中间结点(Java
是个简单题题目描述题目思路代码 题目描述 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 题目思路 思路一:遍历一遍链表,转移到数组中 思路二:遍历一边链表,得到长度后再去遍历 思路三:双指针,一个走一步,一个走两步 代码 思路三: class Solution { public ListNode middleNode(List...原创 2020-03-23 14:43:37 · 233 阅读 · 2 评论 -
leetcode 945. 使数组唯一的最小增量(Java
945. 使数组唯一的最小增量(Java题目描述题目分析代码 题目描述 给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1。 返回使 A 中的每个值都是唯一的最少操作次数。 示例 1: 输入:[1,2,2] 输出:1 解释:经过一次 move 操作,数组将变为 [1, 2, 3]。 示例 2: 输入:[3,2,1,2,1,7] 输出:6 解释:经过 6 次 move 操作...原创 2020-03-22 21:47:39 · 210 阅读 · 0 评论 -
leetcode 409 最长回文串(Java
最长回文串(Java题目描述题目分析代码 题目描述 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: “abccccdd” 输出: 7 题目分析 代码 Java: ...原创 2020-03-19 23:39:32 · 149 阅读 · 0 评论 -
复制map的问题相关:leetcode 1160 拼写单词
map的复制(Java 创建了一个map之后: HashMap<Character ,Integer> map = new HashMap<Character ,Integer>(); 如果需要多次利用这个map,并且要进行多次不关联的修改 最好创建一个map的副本出来 错误写法:HashMap<Character ,Integer> map1 = map; 加...原创 2020-03-18 16:09:15 · 143 阅读 · 0 评论 -
leetcode 836 矩形重叠(Java/C++
矩形重叠(Java题目描述题目分析代码 题目描述 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。 如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。 给出两个矩形,判断它们是否重叠并返回结果。 示例 1: 输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3...原创 2020-03-18 15:46:42 · 178 阅读 · 0 评论 -
leetcode 1013 将数组分成和相等的三个部分(Java)
将数组分成和相等的三个部分题目描述思路一:纯暴力代码思路二 双指针:代码思路三 半暴力:代码 题目描述 给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。 形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A...原创 2020-03-11 10:58:57 · 392 阅读 · 0 评论 -
leetcode66 加一(Java)
leetcode66 加一(Java)题目描述题目分析代码 题目描述 简单来说: 用数组表示的一个数,加一,然后再用数组来存储 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321。 题目分析 思路一: 把数组转换成数字,加一之后填入新的数组...原创 2020-03-10 20:25:13 · 125 阅读 · 0 评论 -
leetcode206 反转链表!!!!!Java
反转链表 题目描述: 反转一个单链表。 这道题的难点在于熟练运用迭代和递归。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路一:迭代 1->2->3->4->5 1<-2<-3<-4<-5 要完成这种变化我们观察,...原创 2020-03-03 17:03:13 · 105 阅读 · 0 评论 -
leetcode面试题10.01 合并排序的数组
合并排序的数组 题目描述: 给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。 初始化 A 和 B 的元素数量分别为 m 和 n。 示例: 输入: A = [1,2,3,0,0,0], m = 3 B = [2,5,6], n = 3 输出: [1,2,2,3,5,6] 题目分析: 这道题简单就简单在不需...原创 2020-03-03 16:07:26 · 174 阅读 · 0 评论 -
Leetcode18 四数之和
四数之和 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包含重复的四元组。 示例: 给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。 满足要求的四元组集合为...原创 2019-11-27 16:33:18 · 59 阅读 · 0 评论 -
Leetcode 19删除链表的倒数第N个节点
删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 思路 C++: 利用相隔距离为n的双指针,当后面的指针到达链表尾部时,删掉前边这个指针所指的节点。 具体方法:先定义两个指向头节点的...原创 2019-11-26 15:51:17 · 77 阅读 · 0 评论 -
Leetcode 15三数之和(双指针+容器)
Leetcode15 三数之和(笔记) 思路 Java实现 Python实现 C++实现 1. 思路 首先暴力解法是可以实现的,但是在这道题中会超时,因为这道题目给了巨大的测试用例。 三数之和为0,那除了第一个数,后两个数可以采用双指针。 首先对数组排序 对第一个数字进行循环,如果它大于0,不用再判断了,不可能跟两个比它大的数之和为0了 确定第一个数之后,对这个数字后面的数进行双指针查找,...原创 2019-11-25 22:42:15 · 141 阅读 · 0 评论