LeetCode
余_易
整个江湖都任我闯,我的生命像一首歌~
展开
-
994.腐烂的橘子——入门广度搜索
广度搜索 每到一个节点时,先遍历该节点能够到达的所有下一节点 之后从下一层节点中的第一个节点开始,寻找它能到达的所有节点…直至结束 在代码中表示为进队列和出队列的操作 int n = 10, m = 10; //地图宽高 void BFS() { queue que; //用队列来保存路口 int gra...原创 2019-12-10 21:06:20 · 175 阅读 · 0 评论 -
191.位1的个数
找到整数转化为二进制数后,1的个数,有三种方法 第一种是最容易想到的,每次判断除2的余数是否为1,若为1,sum+1,然后除2,当整数为0时停止 public static int count(int n) { int sum = 0; while (n != 0) { sum += n%2; ...原创 2019-12-07 11:36:04 · 108 阅读 · 0 评论 -
LeetCode:62.不同路径 63. 不同路径 II
动态规划原创 2019-12-07 09:44:06 · 105 阅读 · 0 评论 -
从两道题入门广度搜索
733 . 图像渲染 示例 1: 输入: image = [[1,1,1],[1,1,0],[1,0,1]] sr = 1, sc = 1, newColor = 2 输出: [[2,2,2],[2,2,0],[2,0,1]] 解析: 在图像的正中间,(坐标(sr,sc)=(1,1)), 在路径上所有符合条件的像素点的颜色都被更改成2。 注意,右下角的像素没有更改为2, 因为它不是在上下左右四个方...原创 2019-12-06 16:52:54 · 99 阅读 · 0 评论 -
LeetCode解题记录(十六)
数组篇 (简单)十六 268.缺失数字 给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。 示例 1: 输入: [3,0,1] 输出: 2 解法一:排序 思路简单,但时间复杂度有点高,且需要处理的细节有点多,缺失的数字到底是第一个,还是中间的,还是尾部的,使得代码不太优雅 class Solution { public int mi...原创 2019-07-24 17:28:35 · 62 阅读 · 0 评论 -
LeetCode解题记录(十一)
数组篇 (简单)十一 167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入...原创 2019-07-20 16:53:40 · 89 阅读 · 0 评论 -
LeetCode解题记录(十二)
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 这题看似简单,可玩性确极高,官方题解给出了足足六种题解,原因就在于本题众数的定义很特别,给出的数组也很特别,众数出现的次数比其他所有数...原创 2019-07-21 14:53:44 · 85 阅读 · 0 评论 -
LeetCode解题记录(十三)
数组篇 (简单)十三 189.旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 : 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] 两种解法,一种利用...原创 2019-07-21 15:45:32 · 101 阅读 · 0 评论 -
剑指offer
8.3 java没有指针,所以没有c++可以通过传递指针来传递数组的特性 static关键字用于类的内部调用方法,如果是在其他类中调用,加上static则无法调用原创 2019-08-03 10:22:06 · 88 阅读 · 0 评论 -
LeetCode解题记录(十五)
数组篇 (简单)十五 219. 存在重复元素 II 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。(不大于k) 示例 1: 输入: nums = [1,2,3,1], k = 3 输出: true 方法一:暴力循环 class Solution { public bool...原创 2019-07-24 14:57:51 · 84 阅读 · 0 评论 -
LeetCode解题记录(十四)
数组篇 (简单)十四 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 输入: [1,2,3,1] 输出: true 看到题目就觉得应该先排序,然后遍历一遍,每次下标相差1的数前后比较,有相同的就跳出返回true 解法一:排序遍历 class Solution { public boo...原创 2019-07-24 10:27:11 · 86 阅读 · 0 评论 -
LeetCode解题记录(四)
由浅入深,由易到难 数组篇 (简单)四 35.搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输...原创 2019-05-08 15:02:05 · 120 阅读 · 0 评论 -
LeetCode解题记录(六)
由浅入深,由易到难 数组篇 (简单)五 66.加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] ...原创 2019-05-14 15:17:20 · 101 阅读 · 0 评论 -
LeetCode解题记录(七)
由浅入深,由易到难 数组篇 (简单)七 88.合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = ...原创 2019-05-14 17:49:56 · 114 阅读 · 0 评论 -
LeetCode解题记录(一)
LeetCode刷题体会 由浅入深,由易到难 数组篇 (简单)一 1.两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例 :给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + num...原创 2019-05-07 15:01:02 · 164 阅读 · 0 评论 -
LeetCode解题记录(二)
由浅入深,由易到难 数组篇 (简单)二 26.两数之和 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数...原创 2019-05-07 15:23:28 · 146 阅读 · 0 评论 -
LeetCode解题记录(五)
由浅入深,由易到难 数组篇 (简单)五 56 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 拿到题目一开始就想用暴力一个个去找答案,每个和当前最大的比较。 很不幸,又陷入了思维误区,想按照两个一组、三个...原创 2019-05-12 20:28:26 · 115 阅读 · 0 评论 -
LeetCode解题记录(八)
数组篇 (简单)八 108 杨辉三角 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 题解: class Solution { public List<List> generate(int...原创 2019-07-11 20:20:23 · 78 阅读 · 0 评论 -
LeetCode解题记录(九)
数组篇 (简单)九 119 杨辉三角(2) 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 这题与八几乎雷同,唯一的区别在于要求更低了,不需要返回三角的所有数组,只要返回最底层的数组即可。原本按照上题解法也可解决这题,但题目更简洁后,对时间复杂度的要求也更高了,原题解法超时,只得另寻他法。 ...原创 2019-07-16 17:23:42 · 100 阅读 · 0 评论 -
LeetCode解题记录(三)
由浅入深,由易到难 数组篇 (简单)三 27.移除元素 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应...原创 2019-05-08 12:52:41 · 192 阅读 · 0 评论