自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hebtu666

少说,多做。

  • 博客(87)
  • 论坛 (1)
  • 收藏
  • 关注

原创 leetcode114. 二叉树展开为链表

给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5/ \ \3 4 6将其展开为:1\ 2 \ 3 \ 4 \ 5 \ 6思路:所有左子树的最右节点接上右子树即可。比如例子中:3接上4,4接上5/**...

2020-01-31 19:47:01 2011 26

原创 leetcode119. 杨辉三角 II 你能比我代码更短吗?

给定一个非负索引k,其中k≤33,返回杨辉三角的第k行。示例:输入: 3输出: [1,3,3,1]按照定义写即可。class Solution: def getRow(self, rowIndex: int) -> List[int]: l=[1] for i in range(rowIndex): ...

2020-01-31 19:26:34 3636 57

原创 leetcode145. 二叉树的后序遍历 意想不到的骚操作

给定一个二叉树,返回它的 后序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [3,2,1]进阶:递归算法很简单,你可以通过迭代算法完成吗?思路:前序遍历左右交换,然后倒序输出原因:前序:中左右,我们左右交换遍历:中右左序列反过来:左右中=后序。详情请看:二叉树遍历/** * Defi...

2020-01-31 19:02:53 3876 44

原创 leetcode52. N皇后 II 最强解法直接秒杀100%

n皇后问题研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回 n 皇后不同的解决方案的数量。示例:输入: 4输出: 2解释: 4 皇后问题存在如下两个不同的解法。[[".Q..", // 解法 1"...Q","Q...","..Q."],["..Q."...

2020-01-31 18:48:23 6982 44

原创 leetcode350. 两个数组的交集 II

给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。进阶:如果给定...

2020-01-30 12:21:26 2092 27

原创 leetcode349. 两个数组的交集

给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。思路:把一个数组的数字放set里,遍历另一个数组...

2020-01-30 12:14:30 1925 13

原创 leetcode340. 至多包含 K 个不同字符的最长子串

给定一个字符串 s ,找出至多包含 k 个不同字符的最长子串 T。示例 1:输入: s = "eceba", k = 2输出: 3解释: 则 T 为 "ece",所以长度为 3。示例 2:输入: s = "aa", k = 1输出: 2解释: 则 T 为 "aa",所以长度为 2。思路:双指针,指针中间的是可能的答案。符合要求右指针向右扩,否则更新答案,左指针往右缩。...

2020-01-30 11:48:53 2952 29

原创 leetcode167. 两数之和 II - 并没有那么easy的easy题

给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], t...

2020-01-29 16:36:11 3301 28

原创 leetcode164. 最大间距 借桶思想秒掉hard题

给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数组中所有元...

2020-01-29 16:31:32 2852 21

原创 leetcode161. 相隔为 1 的编辑距离

给定两个字符串s 和 t,判断他们的编辑距离是否为 1。注意:满足编辑距离等于 1 有三种可能的情形:往 s中插入一个字符得到 t从 s中删除一个字符得到 t在 s中替换一个字符得到 t示例 1:输入: s = "ab", t = "acb"输出: true解释: 可以将 'c' 插入字符串 s来得到 t。示例 2:输入: s = "cab", t = "...

2020-01-29 16:22:43 3309 19

原创 leetcode159. 至多包含两个不同字符的最长子串

给定一个字符串 s ,找出至多包含两个不同字符的最长子串 t 。示例 1:输入: "eceba"输出: 3解释: t 是 "ece",长度为3。示例 2:输入: "ccaabbb"输出: 5解释: t 是 "aabbb",长度为5。思路:双指针,指针中间的是可能的答案。符合要求右指针向右扩,否则更新答案,左指针往右缩。class Solution { pub...

2020-01-29 16:08:44 2547 35

原创 leetcode202. 快乐数

编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 0...

2020-01-29 13:33:48 1818 21

原创 leetcode57. 插入区间

给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例1:输入: intervals = [[1,3],[6,9]], newInterval = [2,5]输出: [[1,5],[6,9]]示例2:输入: intervals = [[1,2],[3,5],[6,7],[8,...

2020-01-29 13:23:18 2213 24

原创 leetcode56. 合并区间

给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。思路...

2020-01-29 12:49:07 1992 18

原创 leetcode263. 丑数

编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数2, 3, 5的正整数。示例 1:输入: 6输出: true解释: 6 = 2 ×3示例 2:输入: 8输出: true解释: 8 = 2 × 2 ×2示例3:输入: 14输出: false解释: 14 不是丑数,因为它包含了另外一个质因数7。说明:1是丑数。输入不会超过 32 位有...

2020-01-28 23:23:12 1838 20

原创 leetcode346. 数据流中的移动平均值

给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算其所有整数的移动平均值。示例:MovingAverage m = new MovingAverage(3);m.next(1) = 1m.next(10) = (1 + 10) / 2m.next(3) = (1 + 10 + 3) / 3m.next(5) = (10 + 3 + 5) / 3思路:一个队列记录数字,...

2020-01-28 23:15:28 3191 53

原创 leetcode339. 嵌套列表权重和

给定一个嵌套的整数列表,请返回该列表按深度加权后所有整数的总和。每个元素要么是整数,要么是列表。同时,列表中元素同样也可以是整数或者是另一个列表。示例 1:输入: [[1,1],2,[1,1]]输出: 10解释: 因为列表中有四个深度为 2 的 1 ,和一个深度为 1 的 2。示例 2:输入: [1,[4,[6]]]输出: 27解释: 一个深度为 1 的 1,一个深度...

2020-01-28 23:10:16 2067 32

原创 leetcode330. 按要求补齐数组 顶级难度玄学贪心

给定一个已排序的正整数数组 nums,和一个正整数n 。从[1, n]区间内选取任意个数字补充到nums中,使得[1, n]区间内的任何数字都可以用nums中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。示例1:输入: nums = [1,3], n = 6输出: 1解释:根据 nums里现有的组合[1], [3], [1,3],可以得出...

2020-01-28 23:03:11 4874 45

原创 leetcode329. 矩阵中的最长递增路径

给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums =[ [9,9,4], [6,6,8], [2,1,1]]输出: 4解释: 最长递增路径为[1, 2, 6, 9]。示例 2:输入: nums =[ [3,4,5],...

2020-01-28 22:36:31 1896 30

原创 leetcode345. 反转字符串中的元音字母

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: "hello"输出: "holle"示例 2:输入: "leetcode"输出: "leotcede"说明:元音字母不包含字母"y"。思路:就是一趟双指针扫描。class Solution { private final static HashSet<Character>...

2020-01-28 22:30:17 1836 40

原创 leetcode348. 判定井字棋胜负 好麻烦的代码

请在 n ×n 的棋盘上,实现一个判定井字棋(Tic-Tac-Toe)胜负的神器,判断每一次玩家落子后,是否有胜出的玩家。在这个井字棋游戏中,会有 2 名玩家,他们将轮流在棋盘上放置自己的棋子。在实现这个判定器的过程中,你可以假设以下这些规则一定成立:1. 每一步棋都是在棋盘内的,并且只能被放置在一个空的格子里;2. 一旦游戏中有一名玩家胜出的话,游戏将不...

2020-01-28 22:23:30 5009 27

原创 leetcode162. 寻找峰值 变种二分见过吗

峰值元素是指其值大于左右相邻值的元素。给定一个输入数组nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其索引 2。...

2020-01-28 17:17:40 3414 39

原创 leetcode191. 位1的个数

编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。示例 2:输入:0000000000000000000000001000...

2020-01-28 17:09:31 1778 21

原创 leetcode189. 旋转数组

给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例 1:输入: [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]示例2:输入: [-1,-100,3,99] ...

2020-01-28 16:43:29 1801 33

原创 leetcode186. 翻转字符串里的单词 II

给定一个字符串,逐个翻转字符串中的每个单词。示例:输入: ["t","h","e"," ","s","k","y"," ","i","s"," ","b","l","u","e"]输出: ["b","l","u","e"," ","i","s"," ","s","k","y"," ","t","h","e"]注意:单词的定义是不包含空格的一系列字符输入字符串中不会包含前置或尾随的...

2020-01-28 16:39:31 2028 15

原创 leetcode292. Nim 游戏

你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 3...

2020-01-28 02:23:21 3531 36

原创 leetcode252. 会议室

给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei),请你判断一个人是否能够参加这里面的全部会议。示例 1:输入: [[0,30],[5,10],[15,20]]输出: false示例 2:输入: [[7,10],[2,4]]输出: true思路:按照开始时间排序,判断每个会议是否有重叠时间即可...

2020-01-28 02:18:06 2238 28

原创 leetcode283. 移动零 比官方更好的解法。

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路:记录0的个数(即当前数需要往前移动的长度)。最后把0赋值到最后。class Solution { public void mo...

2020-01-28 02:08:30 5044 47

原创 leetcode219. 存在重复元素 II

给定一个整数数组和一个整数k,判断数组中是否存在两个不同的索引i和j,使得nums [i] = nums [j],并且 i 和 j的差的绝对值最大为 k。示例1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums = [1,2,3,1,...

2020-01-26 17:07:44 2125 17

原创 leetcode217. 存在重复元素(vip题)超简单

给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true思路:记录之前出现过的数字即可。cla...

2020-01-26 17:03:28 1822 18

原创 leetcode204. 计数质数(vip题)

统计所有小于非负整数n的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。思路:筛法,见代码。class Solution { public int countPrimes(int n) { // 1. 给数加上标记 byte[] nums = new byte[n...

2020-01-26 16:59:28 2129 41

原创 leetcode243. 最短单词距离(vip题)好像挺简单?

给定一个单词列表和两个单词 word1 和 word2,返回列表中这两个单词之间的最短距离。示例:假设 words = ["practice", "makes", "perfect", "coding", "makes"]输入: word1 = “coding”, word2 = “practice”输出: 3输入: word1 = "makes", word2 = "coding"...

2020-01-26 16:43:18 3194 29

原创 leetcode 73. 矩阵置零

给定一个m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例1:输入:[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例2:输入:[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:...

2020-01-25 23:25:50 2556 19

原创 leetcode95. 不同的二叉搜索树 II

给定一个整数 n,生成所有由 1 ...n 为节点所组成的二叉搜索树。示例:输入: 3输出:[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3 2 ...

2020-01-25 22:48:03 2122 24

原创 leetcode96. 不同的二叉搜索树 动归vs数学?

给定一个整数 n,求以1 ...n为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 ...

2020-01-25 22:39:02 5659 19

原创 三个博弈基础

(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个...

2020-01-25 22:07:39 2395 37

原创 数论基础代码合集

欧几里德#include<iostream>using namespace std;int hcf(int a,int b){ int r=0; while(b!=0) { r=a%b; a=b; b=r; } return(a);}lcd(int u,int v,int...

2020-01-25 22:07:09 3431 36

原创 22种编程语言新年快乐

请允许我用22种编程语言,祝大家新年快乐C语言:printf(“祝大家新年快乐”);C++ : cout<<“祝大家新年快乐”;OC: NSLog(@“祝大家新年快乐”)QBasic : Print “祝大家新年快乐”Asp : Response.Write “祝大家新年快乐”PHP : echo “祝大家新年快乐”;JScript: alert(“祝大家新年快乐”)V...

2020-01-24 18:46:11 16712 129

原创 leetcode67. 二进制求和

给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"思路:按位加即可。class Solution { public String addBinary(String...

2020-01-24 13:30:05 2511 34

原创 leetcode80. 删除排序数组中的重复项 II

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数组中超出新长度...

2020-01-24 13:25:48 1809 20

空空如也

hebtu666的留言板

发表于 2020-01-02 最后回复 2020-07-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除