您的位置:首页 > 其它

LeetCode刷题分类

2017-09-26 20:11 134 查看

Array

1 给一个和,从无序数组中找2个数=这个和,输出这2个数的索引

26 给定一个有序数组,返回数组中无重复数字的个数

27 返回去掉指定数字后数组的长度

35 二分查找

53 连续子数组的最大和

66 给一个数组,代表一个整数,对这个整数+1

88 合并两个有序数组

118 Pascal's Triangle

119 只用O(k)的额外空间,求第K行帕斯卡三角形的数

121 求两数之差的最大值,要求小的数在大的数前面

122. Best Time to Buy and Sell Stock II

167 给一个和,从有序数组中找2个数=这个和,输出这2个数的索引

169 数组中出现次数超过一半的数字

189 把最右边的数移到最左边,移动k次

217 数组里是否为无重复数字数组,全为不同的返回false

219 在数组中找两个相等的数,如果他们索引之差的绝对值 <= k 则返回true

238 使得数组上的每一位数变为其他所有数的乘积

268 一串连续的数,找到缺的那个

283 把数字中的0移到后面

414 求第3大的数,数组中有重复数字

442 数组中的数为1-n,找出出现了2次的数

448 数组中的数为1-n,找出缺少的数

485 求连续1的最大值

495 计算中毒的总时间

532 有多少对相差值为k的数

561 在两个数中取最小值,令这些最小值之和最大

566 矩阵变换

581 对最短的子数组做升序排序,使得整个数组都按升序排序

605 如果0的相邻数都是0,则可以种植

628 找出3个数,使他们的乘积最大

643 连续k长的序列的最大平均值

661 Image Smoother

665 能否最多改变一个元素,使得数组为非降序数组

667 使 | a1 - a2 | | a2 - a3 | | a3 - a4 |…an-1正好有k个不同的整数

674 在未排序的数组中,找出最长的连续递增序列的长度

695 二维矩阵里求相连的1的最大个数

697 数组里出现的频率最高的那个数,在子数组中也要出现那么多次,求子数组的最小长度

717 把数组划分为0,10,11,判断最后一位是不是单个的0

724 数组中一个索引的左右两边的数之和相等,则返回这个索引

746 从第0,1级台阶开始,每次可以跳1或2级台阶,需要花费cost[i],求最低花费

747 查找数组中最大的元素是否至少是数组中其他数字的两倍

766 如果数组中每一个对角线上的元素都相等,则返回true

 

String 

13 把罗马数字转成阿拉伯整数

14 输出几个字符串的最长公共前缀

20 括号匹配

28 判断子串needle 在主串haystack中首次出现的位置

38 1 11 21 1211

58 求最后一个单词的长度,要去掉最后多余的空格

67 字符串表示二进制数,求相加后的结果

125 判断是不是回文串  只考虑字母和数字  忽略大小写和其他的

344 反转字符串

345 翻转字符串中的所有元音

383 第二个字符串包含第一个字符串的所有字母,就返回true,不一定要连续包含

434 输出字符串一共有几段

443 压缩字符串

459 判断一个字符串是否由一个相同子串构成

520 Detect Capital

521 求两个字符串中,不公共子串的最大长度

541 每2k个字符 反转前k个字符

551 如果字符串中包含的A超过1或者有连续2个以上的L,就输出false

557 按空格将字符串分成多个子串,每个子串反转

606 输出二叉树的先序遍历

657 UDLR表示机器人的上下左右,判断它能否回到原点

680 最多删掉一个字符,判断这个字符串是不是回文串

686 重复几次A后,B是A的子串

696 计算具有相同数量的0和1的子字符串的数量,0,1要连续

788 将一个数字的每一位旋转180度,如果跟之前的数字不一样则是有效的

791 将T按S中出现的字母顺序排序

796 如果把A的一部分子串移到后面,跟B相等,则返回true

 

 Hash Table

1 给一个和,从无序数组中找2个数=这个和,输出这2个数的索引(Array)

136 找唯一的数

202 Happy Number

205 判断一个字符串是否可以替换为另一个字符串

217 数组里是否为无重复数字数组,全为不同的返回false(Array)

219 在数组中找两个相等的数,如果他们索引之差的绝对值 <= k 则返回true(Array)

242 判断一个串的字母打乱顺序后,是否等于另一个串

290 判断字符串是否和模式匹配

349 求两个集合的交集 结果元素必须唯一

350 求两个集合的交集

389 2个字符串中,多出来的一个字母

409 从字符串中找出一些字母组成回文串,要求这个回文串最长

438 如果s的子串包含p串(不限顺序),则输出子串的起始索引

463 求岛的周长

447 给3个点,计算1个点到另外两个点都相等有多少种组合 

500 判断一个字符串的所有字母是否在键盘的同一行

575 把所有的糖平均分给两个人,问一个人最多能获得多少不同种类的糖

594 从数组中找出一段子序列(不要求连续),要求子序列最大数和最小数之差为1,输出最长的长度。

599 输出两个字符串数组共有的字符串,要求索引之和最小

645 数组中为1-n的数字,现在用其中一个数字覆盖掉另一个数字,求出现2次的数字和丢失的那个

690 计算员工的总价值

720 找出数组里最长的字符串,该字符串的子集也要在这个数组里

760 找出A中的每个元素对应B中的哪个位置

771 统计字符串J中的每一个字符在S中出现的总次数之和

 

Bit Manipulation

136 找唯一的数(Hash Table)

169 数组中出现次数超过一半的数字(Array)

190 反转01串

191 判断一个数的二进制有几个1

231 判断一个整数是否为2的整数次幂

268 一串连续的数,找到缺的那个(Array)

342 判断一个数是不是4的次方

371 a+b(不能用+-)

389 2个字符串中,多出来的一个字母(Hash Table)

405 十进制转十六进制

461 2个整数的汉明距离

476 2进制取反

693 判断一个数的二进制中,01是否是交替出现的

784 将S的每个字母进行大写小小写转换,求出所有的可能

 

Math

7 反转一个整数,溢出时返回0

9 判断一个数是不是回文数

13 把罗马数字转成阿拉伯整数(String)

66 给一个数组,代表一个整数,对这个整数+1(Array)

67 字符串表示二进制数,求相加后的结果(String)

69 实现sqrt

168 1->A  27->AA

171 A -> 1 AA -> 27

202 Happy Number (Hash Table)

204 求n以内的素数

231 判断一个整数是否为2的整数次幂(Bit Manipulation)

233 从1到n整数中1出现的次数

258 把一个数的每一位加起来,不断重复,只剩1个数字

263 判断一个数是不是丑数

268 一串连续的数,找到缺的那个(Array  Bit Manipulation)

367 判断一个数是不是某个整数的平方

400 求无穷序列里的第n个数字

415 字符串表示十进制数,求相加后的结果

441 1+2+3...+k <= n   求k的最大值

453 每一步操作都给n-1个数同时+1, 问多少步操作后,使得数组里的每一个数都相等

507 判断一个数是不是完数

598 Range Addition II,最大覆盖面积

628 找出3个数,使他们的乘积最大(Array)

633 判断c是否为a^2+b^2

645 数组中为1-n的数字,现在用其中一个数字覆盖掉另一个数字,求出现2次的数字和丢失的那个(Bit Manipulation)

728 判断一个整数,是否能整除所有组成自己的数字

 

Tree

100 判断两棵二叉树是否完全一样

101 判断一棵二叉树是否是镜像的

104 二叉树的深度

107 将二叉树每一层的节点放入二维数组中

108 用一个已排序的数组构建一个平衡二叉搜索树

110 判断一棵二叉树是否为平衡二叉树

111 求根节点到叶子节点的距离,要求输出最小值

112 判断是否存在一条从根节点到叶子节点的路径,路径上节点之和为sum

226 反转一棵二叉树

234 判断单链表是否是回文的

235 求一棵二叉搜索树,两个节点的最小公共祖先节点

257 输出所有根节点到叶子节点的路径

404 左叶子节点权值之和

437 计算有多少条路径上的节点值的和为sum

501 求一棵二叉搜索树结点相等值的最大个数

538 将一棵二叉搜索树变成一棵更大的二叉搜索树

543 计算树中任意两个节点之间的路径,要求路径最长

563 求二叉树的倾斜

572 判断树s是否包含树t

606 输出二叉树的先序遍历(String)

617 合并两颗二叉树

637 以数组的形式返回每个层次上的节点的平均值

653 如果二叉搜索树中存在2个数之和等于目标值,则返回true

669 给定一棵二叉搜索树,求去掉【L,R】范围外的结点后的二叉搜索树

671 每个节点的值为他两个子节点的较小值,求整棵树第二小的数

687 找出相同节点相连的路径,求最长的边数和

783 求二叉搜索树任意两节点之间的差值,要求最小

 

DFS

104 二叉树的深度

733 从给定坐标开始,将与该点相邻  并且值也相同  的点的 值都换成newColor

 

DP

53 连续子数组的最大和(Array)

70 每次可以爬1级或2级台阶,爬n级有多少种走法

121 求两数之差的最大值,要求小的数在大的数前面(Array)

198 数组相邻位不能累加,计算能够累加的最大值

303 区间求和

746 从第0,1级台阶开始,每次可以跳1或2级台阶,需要花费cost[i],求最低花费(Array)

 

Stack

20 括号匹配

155 设计一个栈,有一个取最小元素的操作

225 用队列实现栈的功能

232 用栈来实现队列的功能

496  在nums2对应的位置查找nums1的所有元素的下一个更大的数字

682. Baseball Game

 

Binary Search

35 二分查找(Array)

167 给一个和,从有序数组中找2个数=这个和,输出这2个数的索引(Array)

278 找出第一个坏的数

349 求两个集合的交集 结果元素必须唯一(Hash Table)

350 求两个集合的交集(Hash Table)

367 判断一个数是不是某个整数的平方(Math)

374 二分查找,猜数字

441 1+2+3...+k <= n   求k的最大值(Math)

744 二分查找,找到大于给定目标的列表中最小的元素

 

Binary Search Tree

530 求二叉搜索树中,任意两个节点的值之间的最小绝对差值

 

Linked List

21 合并两个有序单链表

83 有序链表去重

141 判断一个链表是否有环

160 求两个链表的第一个公共结点

203 删除链表中跟val相同的节点

206 反转单链表

237 删除链表的一个结点

 

 未分类

258 把一个数的每一位加起来,不断重复,只剩1个数字

292 巴什博弈

384 洗牌算法

387 找到第一个无重复的字符,返回其索引

412 Fizz Buzz

455 Assign Cookies

458 N个桶,一只猪喝了会在minutesToDie分钟内死亡,你有minutesToTest分钟的时间,求最少要多少猪试出毒药

479 输入一个n,找出两个n位数的乘积为回文数的数,要求最大

482 输出的字符串,每组包含K个字符,第1组可以小于K个

492 输入一个矩形的面积,输出矩形的长和宽,长和宽的差要尽可能的小

504 10进制转成7进制

506 Relative Ranks

 

 

数据库

175 左外连接

176 查找第二高的薪水,如果不存在,则返回null

181 自连接  找出比其上司挣得更多的员工

182 查找所有重复的电子邮件

183 查找所有从不订购任何东西的客户

196 删除重复的地址,保留ID最小的

197 查找与昨天的日期相比温度更高的日期的id

595 Big Countries

596 请列出所有超过或等于5名学生的课程

620 Not Boring Movies

627 用更新操作,将sex里的f变成m,m变成f

 

Shell

192 统计单词出现的次数

193 在文本中找出(xxx) xxx-xxxx or xxx-xxx-xxxx 这样的字符串

195 输出文件的第10行

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: