作者: 负雪明烛
id: fuxuemingzhu
个人博客: http://fuxuemingzhu.cn/
把自己刷过的所有题目做一个整理,并且用简洁的语言概括了一下思路,汇总成了一个表格。
题目的排列顺序是按照先Easy再Medium再Hard排列的,暂时还没有把题目全部整理完成。后序我会把刷过的所有的题目都整理到这个文档里。
题目
难度
解法
题目地址
566. Reshape the Matrix
Easy
变长数组,求余法,维护行列计算在新的数组中的位置
https://blog.csdn.net/fuxuemingzhu/article/details/83626519
567. Increasing Order Search Tree
Easy
直接中序遍历的结果放到链表结尾
https://blog.csdn.net/fuxuemingzhu/article/details/82349263
568. Jewels and Stones
Easy
字典统计次数
https://blog.csdn.net/fuxuemingzhu/article/details/79188903
569. Unique Email Addresses
Easy
字符串+set统计个数
https://blog.csdn.net/fuxuemingzhu/article/details/83478570
570. To Lower Case
Easy
ASIIC码操作ord,chr
https://blog.csdn.net/fuxuemingzhu/article/details/81015228
571. Unique Morse Code Words
Easy
字典映射 + set统计个数
https://blog.csdn.net/fuxuemingzhu/article/details/79774003
572. Sort Array By Parity
Easy
自定义sorted函数的cmp为数字mod 2
https://blog.csdn.net/fuxuemingzhu/article/details/82732066
573. Hamming Distance
Easy
先异或 再数1的个数
https://blog.csdn.net/fuxuemingzhu/article/details/54138423
574. Robot Return to Origin
Easy
Counter统计,判断是否相等
https://blog.csdn.net/fuxuemingzhu/article/details/83663650
575. Flipping an Image
Easy
直接计算新的数组的每个位置的值即可
https://blog.csdn.net/fuxuemingzhu/article/details/80471495
576. Merge Two Binary Trees
Easy
树的递归操作
https://blog.csdn.net/fuxuemingzhu/article/details/79052953
577. Implement strStr()
Easy
字符串遍历+切片是否相等的判断
https://blog.csdn.net/fuxuemingzhu/article/details/79254558
578. Find and Replace Pattern
Easy
直接使用字典做映射
https://blog.csdn.net/fuxuemingzhu/article/details/82014687
579. Binary Tree Pruning
Medium
二叉树的后序遍历
https://blog.csdn.net/fuxuemingzhu/article/details/79858752
580. Array Partition I
Easy
排序+求和
https://blog.csdn.net/fuxuemingzhu/article/details/71412574
581. Self Dividing Numbers
Easy
直接遍历区间的每个数字进行判断
https://blog.csdn.net/fuxuemingzhu/article/details/79053113
582. Peak Index in a Mountain Array
Easy
二分查找的变种,使用Mid位置和左右位置比较
https://blog.csdn.net/fuxuemingzhu/article/details/80721162
583. Sort Array By Parity II
Easy
分别求出奇偶数组然后拼接
https://blog.csdn.net/fuxuemingzhu/article/details/83045735
584. Projection Area of 3D Shapes
Easy
分别计算三视图的面积即可
https://blog.csdn.net/fuxuemingzhu/article/details/81748335
585. Smallest Range I
Easy
直接数学计算
https://blog.csdn.net/fuxuemingzhu/article/details/82824685
586. Transpose Matrix
Easy
先构建数组再遍历实现翻转
https://blog.csdn.net/fuxuemingzhu/article/details/81015450
587. N-ary Tree Preorder Traversal
Easy
多叉树的先序遍历,可以用递归和迭代
https://blog.csdn.net/fuxuemingzhu/article/details/81021950
588. N-ary Tree Postorder Traversal
Easy
多叉树的后序遍历
https://blog.csdn.net/fuxuemingzhu/article/details/81017965
589. Intersection of Two Arrays II
Easy
先排序然后用两个指针移动找出数组交集
https://blog.csdn.net/fuxuemingzhu/article/details/54341965
590. Middle of the Linked List
Easy
快慢指针同时向链表后面移动
https://blog.csdn.net/fuxuemingzhu/article/details/81748484
591. Search in a Binary Search Tree
Easy
BST中节点的查找,递归
https://blog.csdn.net/fuxuemingzhu/article/details/81015754
592. Number of Recent Calls
Easy
找出满足一定条件的区间长度,可以使用二分或者队列
https://blog.csdn.net/fuxuemingzhu/article/details/83714891
593. Maximum Depth of N-ary Tree
Easy
求树的高度,可以使用BFS和DFS
https://blog.csdn.net/fuxuemingzhu/article/details/81021864
594. Reverse Words in a String III
Easy
字符串的单词分别翻转再拼接到一起就好了
https://blog.csdn.net/fuxuemingzhu/article/details/70141268
595. Number of Lines To Write String
Easy
使用字典保存每个字符的长度,然后统计每行的长度是否超过100就好了
https://blog.csdn.net/fuxuemingzhu/article/details/79810381
596. Reverse String
Easy
字符串翻转,[::-1
https://blog.csdn.net/fuxuemingzhu/article/details/51284382
597. Subdomain Visit Count
Easy
字典保存每个子域名出现的次数即可
https://blog.csdn.net/fuxuemingzhu/article/details/79789925
598. Number Complement
Easy
求数字的补数,方法是异或上与其二进制数字的长度相等的全1二进制数
https://blog.csdn.net/fuxuemingzhu/article/details/54562124
599. Shortest Distance to a Character
Easy
过两遍数组,分别找出距离左边和右边的这个字符的最短距离
https://blog.csdn.net/fuxuemingzhu/article/details/80471765
600. Keyboard Row
Easy
使用字典保存每行元素,然后看每个单词是不是只由一行元素组成
https://blog.csdn.net/fuxuemingzhu/article/details/68953517
601. Groups of Special-Equivalent Strings
Easy
把奇偶位置都取出来,重新拼接成字符串作为指纹,看总的有多少种指纹
https://blog.csdn.net/fuxuemingzhu/article/details/82083609
602. Leaf-Similar Trees
Easy
先序、中序、后序都能得到叶子序列
https://blog.csdn.net/fuxuemingzhu/article/details/81748617
603. Uncommon Words from Two Sentences
Easy
使用字典统计每个单词出现的次数,然后看字典keys()的交集,然后在字典中看是不是只出现了一次
https://blog.csdn.net/fuxuemingzhu/article/details/81749170
604. Toeplitz Matrix
Easy
判断每个斜线是否相等,方法是判断每个元素是否和其左上角元素相等
https://blog.csdn.net/fuxuemingzhu/article/details/79127213
605. Island Perimeter
Easy
求小岛的周长。使用所有陆地个数×4-相交部分×2.
https://blog.csdn.net/fuxuemingzhu/article/details/83868905
606. Baseball Game
Easy
用一个栈进行模拟
https://blog.csdn.net/fuxuemingzhu/article/details/79183412
607. Binary Gap
Easy
二进制表示中1的最大间距,保留上一个1的位置即可
https://blog.csdn.net/fuxuemingzhu/article/details/81079495
608. Maximum Depth of Binary Tree
Easy
二叉树的高度,可以用DFS和BFS
https://blog.csdn.net/fuxuemingzhu/article/details/48490829
609. Single Number
Easy
所有的数字出现了两次,其中一个只出现了一次。找出这个数字的方法可以使用字典统计或者异或运算
https://blog.csdn.net/fuxuemingzhu/article/details/54173334
610. Next Greater Element I
Easy
找出某个数字右边比他大的数字,直接遍历查找就好了
https://blog.csdn.net/fuxuemingzhu/article/details/79080337
611. Average of Levels in Binary Tree
Easy
求每层的二叉树的均值,可以使用BFS和DFS
https://blog.csdn.net/fuxuemingzhu/article/details/79088554
612. Binary Number with Alternating Bits
Easy
判断数字的二进制表示是不是01交错的。直接遍历判断,或者位运算。
https://blog.csdn.net/fuxuemingzhu/article/details/79089937
613. Prime Number of Set Bits in Binary Representation
Easy
判断二进制数字的1的个数是不是质数
https://blog.csdn.net/fuxuemingzhu/article/details/79089092
614. Reverse Only Letters
Easy
只翻转字母其余字符不动,可以使用栈、双指针
https://blog.csdn.net/fuxuemingzhu/article/details/82956271
615. Nim Game
Easy
判断输入数字是不是4的倍数即可
https://blog.csdn.net/fuxuemingzhu/article/details/51284421
616. Goat Latin
Easy
字符串处理,简单
https://blog.csdn.net/fuxuemingzhu/article/details/80471925
617. Surface Area of 3D Shapes
Easy
统计立方体个数,减去相交面积
https://blog.csdn.net/fuxuemingzhu/article/details/82083893
618. Letter Case Permutation
Easy
经典回溯法,把字符的大小写分别拼接到字符串尾部
https://blog.csdn.net/fuxuemingzhu/article/details/79360330
619. Add Digits
Easy
两重循环,一直对每位数字求和直到剩余个位数
https://blog.csdn.net/fuxuemingzhu/article/details/49161129
620. Move Zeroes
Easy
使用一个指针指向第一个为0的位置,然后遍历不是0的位置进行交换
https://blog.csdn.net/fuxuemingzhu/article/details/51284981
621. Shortest Completing Word
Easy
找出符合某个模式的字符串,直接处理就好了
https://blog.csdn.net/fuxuemingzhu/article/details/79432228
622. Employee Importance
Easy
dfs
https://blog.csdn.net/fuxuemingzhu/article/details/79091343
623. Find the Difference
Easy
找多出来的字符,可以使用字典,也可以使用异或
https://blog.csdn.net/fuxuemingzhu/article/details/54174443
624. Detect Capital
Easy
统计大写字符的个数,判断是不是在首位
https://blog.csdn.net/fuxuemingzhu/article/details/68957658
625. Find All Numbers Disappeared in an Array
Easy
用set去重,找出没有出现的数字即可
https://blog.csdn.net/fuxuemingzhu/article/details/53981307
626. Count Binary Substrings
Easy
先找出连续的0,1个数,然后进行交错求最小值,在求和
https://blog.csdn.net/fuxuemingzhu/article/details/79183556
627. 4Sum II
Easy
4sum,先确定两个数字,然后看剩余两个数字的和是否出现过
https://blog.csdn.net/fuxuemingzhu/article/details/79473739
628. Rotated Digits
Easy
字典保存翻转后的数字,判断是否相等即可。
https://blog.csdn.net/fuxuemingzhu/article/details/79378135
629. Two Sum IV - Input is a BST
Easy
BFS或者DFS,在遍历的过程中进行破案吨
https://blog.csdn.net/fuxuemingzhu/article/details/79120732
630. Sum of Two Integers
Easy
位运算
https://blog.csdn.net/fuxuemingzhu/article/details/79379939
631. Intersection of Two Arrays
Easy
用两个set求交集,然后转成List即可
https://blog.csdn.net/fuxuemingzhu/article/details/54236183
632. Construct String from Binary Tree
Easy
先序遍历,可以省略右子树,所以需要做一个节点是否存在的判断
https://blog.csdn.net/fuxuemingzhu/article/details/79121550
633. Reverse Linked List
Easy
翻转单链表,可以使用递归和迭代
https://blog.csdn.net/fuxuemingzhu/article/details/51290121
634. Majority Element
Easy
Moore投票法,或者字典统计次数
https://blog.csdn.net/fuxuemingzhu/article/details/51288749
635. Excel Sheet Column Number
Easy
26进制,没有难度
https://blog.csdn.net/fuxuemingzhu/article/details/51286467
636. Roman to Integer
Easy
使用字典保存映射,遍历求值就好了。
https://blog.csdn.net/fuxuemingzhu/article/details/48208995
637. Reorder Log Files
Easy
分割排序,再拼接
https://blog.csdn.net/fuxuemingzhu/article/details/83961188
638. Best Time to Buy and Sell Stock
Easy
一次遍历,如果后一天比前一天大就买了卖
https://blog.csdn.net/fuxuemingzhu/article/details/51291151
639. Valid Anagram
Easy
判断字符串是否是同构的,直接统计词频或者排序
https://blog.csdn.net/fuxuemingzhu/article/details/51286195
640. Lemonade Change
Easy
贪心算法,找零钱先找大的面额,如果不够再用小的面额
https://blog.csdn.net/fuxuemingzhu/article/details/80913955
641. Contains Duplicate
Easy
判断数组是否有重复,可以统计词频,判断set长度是否相等,排序等方法
https://blog.csdn.net/fuxuemingzhu/article/details/51289768
642. Construct Quad Tree
Easy
建立四叉树,使用递归,判断4个叶子全部是0或者1
https://blog.csdn.net/fuxuemingzhu/article/details/81836838
643. Design HashMap
Easy
设计一个字典,直接开个很大的数组即可,内存放得下
https://blog.csdn.net/fuxuemingzhu/article/details/81017297
644. Convert BST to Greater Tree
Easy
把每个节点变成比它大的节点的值的和,采用逆中序遍历。
https://blog.csdn.net/fuxuemingzhu/article/details/79132336
645. Same Tree
Easy
判断两棵数是否相等,直接递归
https://blog.csdn.net/fuxuemingzhu/article/details/51285076
646. Minimum Absolute Difference in BST
Easy
中序遍历,保存前一个节点,当前节点的值减去前一个节点的值
https://blog.csdn.net/fuxuemingzhu/article/details/69666671
647. Minimum Distance Between BST Nodes
Easy
和上题完全一样
https://blog.csdn.net/fuxuemingzhu/article/details/79402127
648. Ransom Note
Easy
使用字典统计每个字符出现的次数,前者小于后者即可
https://blog.csdn.net/fuxuemingzhu/article/details/54178342
649. Rotate String
Easy
字符串切片
https://blog.csdn.net/fuxuemingzhu/article/details/79521194
650. 1-bit and 2-bit Characters
Easy
单次遍历,判断前面满足的条件下,最后一位是0即可。
https://blog.csdn.net/fuxuemingzhu/article/details/79130681
651. Minimum Moves to Equal Array Elements
Easy
把n-1个数字加1,相等于把最大值-1.求和-n*最小值
https://blog.csdn.net/fuxuemingzhu/article/details/54177981
652. Flood Fill
Easy
对相同颜色进行染色,可以使用DFS和BFS.
https://blog.csdn.net/fuxuemingzhu/article/details/79401716
653. Sum of Left Leaves
Easy
求所有左叶子的和,要判断是不是在左边,判断是不是叶子,然后加到结果中
https://blog.csdn.net/fuxuemingzhu/article/details/54178595
654. Number of Boomerangs
Easy
统计回旋镖的个数,不能暴力解决,需要使用排列组合公式n*(n-1)
https://blog.csdn.net/fuxuemingzhu/article/details/54379349
655. Range Addition II
Easy
求队列的最小值即可
https://blog.csdn.net/fuxuemingzhu/article/details/79398272
656. Construct the Rectangle
Easy
从算术平方根开始找约数即可
https://blog.csdn.net/fuxuemingzhu/article/details/68957959
657. Two Sum II - Input array is sorted
Easy
前后指针同时向中间走,找到target之后停止
https://blog.csdn.net/fuxuemingzhu/article/details/70232518
658. First Unique Character in a String
Easy
首先做个字符出现次数的统计,然后再次遍历,找出只出现了一次的第一个字符。
https://blog.csdn.net/fuxuemingzhu/article/details/84139374
659. Degree of an Array
Easy
求最大的出现次数的所有数字,其最左右出现的位置差的最小值
https://blog.csdn.net/fuxuemingzhu/article/details/79146067
660. Assign Cookies
Easy
贪心算法,尽可能给小孩满足其欲望的饼干
https://blog.csdn.net/fuxuemingzhu/article/details/54177627
661. Convert Sorted Array to Binary Search Tree
Easy
构建BST,使用中间数进行分割,用递归
https://blog.csdn.net/fuxuemingzhu/article/details/70665213
662. Relative Ranks
Easy
相对排名,可以使用堆或者排序或者argsort
https://blog.csdn.net/fuxuemingzhu/article/details/70173434
663. Image Smoother
Easy
直接暴力求平均即可
https://blog.csdn.net/fuxuemingzhu/article/details/79156499
664. Longest Palindrome
Easy
统计出现次数的奇偶就可以
https://blog.csdn.net/fuxuemingzhu/article/details/54236594
665. Minimum Index Sum of Two Lists
Easy
保存出现的索引和与元素的对应,使用堆保存最小的就行
https://blog.csdn.net/fuxuemingzhu/article/details/79138621
666. Missing Number
Easy
理论和-当前和
https://blog.csdn.net/fuxuemingzhu/article/details/70332471
667. Binary Tree Tilt
Easy
后序遍历函数返回的是左右子树的差,在里面用变量求和
https://blog.csdn.net/fuxuemingzhu/article/details/71440281
668. Positions of Large Groups
Easy
找到长度大于3的连续字符,需要判断结束!!
https://blog.csdn.net/fuxuemingzhu/article/details/80472242
669. Intersection of Two Arrays II
Easy
可以排序,也可以使用字典统计次数
https://blog.csdn.net/fuxuemingzhu/article/details/54341965
670. Diameter of Binary Tree
Easy
递归求树的深度,同时求左右两个深度的和的最大值
https://blog.csdn.net/fuxuemingzhu/article/details/70338312
671. Student Attendance Record I
Easy
统计A的个数,并且判断连续L的个数
https://blog.csdn.net/fuxuemingzhu/article/details/70337973
672. Best Time to Buy and Sell Stock
Easy
保存当前的最小值以及最大收益即可
https://blog.csdn.net/fuxuemingzhu/article/details/51291151
673. Maximum Product of Three Numbers
Easy
找出三个数最大的乘积
https://blog.csdn.net/fuxuemingzhu/article/details/79169635
674. Binary Watch
Easy
使用combinations函数
https://blog.csdn.net/fuxuemingzhu/article/details/54344098
675. Min Cost Climbing Stairs
Easy
动态规划
https://blog.csdn.net/fuxuemingzhu/article/details/79188612
676. Long Pressed Name
Easy
使用双指针,统计连续字符出现的次数
https://blog.csdn.net/fuxuemingzhu/article/details/83245395
677. Reverse String II
Easy
Python的切片翻转
https://blog.csdn.net/fuxuemingzhu/article/details/70141909
678. Design HashSet
Easy
直接开数组就行
https://blog.csdn.net/fuxuemingzhu/article/details/81016992
679. Binary Tree Level Order Traversal II
Easy
DFS和BFS都可以
https://blog.csdn.net/fuxuemingzhu/article/details/49108449
680. Base 7
Easy
转成7进制
https://blog.csdn.net/fuxuemingzhu/article/details/70194688
681. Distinct Subsequences
Easy
动规,判断当前字符是否相等
https://blog.csdn.net/fuxuemingzhu/article/details/84228383
682. Merge Two Sorted Lists
Easy
可以使用递归或者迭代
https://blog.csdn.net/fuxuemingzhu/article/details/51291406
683. Poor Pigs
Easy
类似拨号键盘,多维空间求解
https://blog.csdn.net/fuxuemingzhu/article/details/81079261
684. Binary Tree Paths
Easy
打印二叉树的路径,使用递归和迭代
https://blog.csdn.net/fuxuemingzhu/article/details/71249429
685. Backspace String Compare
Easy
字符串可以退格,使用栈轻松解决
https://blog.csdn.net/fuxuemingzhu/article/details/80643408
686. Happy Number
Easy
递归和迭代两种做法
https://blog.csdn.net/fuxuemingzhu/article/details/49180507
687. Longest Continuous Increasing Subsequence
Easy
简单的动态规划
https://blog.csdn.net/fuxuemingzhu/article/details/79220527
688. Find Smallest Letter Greater Than Target
Easy
线性扫描或者二分
https://blog.csdn.net/fuxuemingzhu/article/details/79137225
689. Pascal’s Triangle
Easy
提前构造出来,然后处理每行即可
https://blog.csdn.net/fuxuemingzhu/article/details/51346488
690. Second Minimum Node In a Binary Tree
Easy
递归的时候找第二小值
https://blog.csdn.net/fuxuemingzhu/article/details/79222455
691. Longest Word in Dictionary
Easy
先排序,再找前缀是否存在。
https://blog.csdn.net/fuxuemingzhu/article/details/79123277
692. Remove Element
Easy
使用双指针或者标记指针使得前面都是满足要求的,后面都不满足
https://blog.csdn.net/fuxuemingzhu/article/details/51303161
693. Climbing Stairs
Easy
动态规划
https://blog.csdn.net/fuxuemingzhu/article/details/51290778
694. Add Strings
Easy
直接模拟大整数加法,需要注意进位问题
https://blog.csdn.net/fuxuemingzhu/article/details/54380737
695. Lowest Common Ancestor of a Binary Search Tree
Easy
BST找公共祖先,使用递归很简单
https://blog.csdn.net/fuxuemingzhu/article/details/51290289
696. Longest Harmonious Subsequence
Easy
统计相邻的数字是否都存在即可
https://blog.csdn.net/fuxuemingzhu/article/details/79233752
697. Symmetric Tree
Easy
可以使用BFS和DFS两种方法
https://blog.csdn.net/fuxuemingzhu/article/details/51345707
698. Maximum Subarray
Easy
动态规划找子数组最大和
https://blog.csdn.net/fuxuemingzhu/article/details/71101802
699. Most Common Word
Easy
正则+统计
https://blog.csdn.net/fuxuemingzhu/article/details/80472079
700. Power of Two
Easy
判断二进制是不是只有1个1即可
https://blog.csdn.net/fuxuemingzhu/article/details/51290981
701. Convert a Number to Hexadecimal
Easy
转成16进制,难点在于负数的处理:加上1<<32
https://blog.csdn.net/fuxuemingzhu/article/details/54426643
702. Remove Duplicates from Sorted List
Easy
递归和循环
https://blog.csdn.net/fuxuemingzhu/article/details/51290506
703. Power of Three
Easy
循环和迭代
https://blog.csdn.net/fuxuemingzhu/article/details/51290895
704. Number of 1 Bits
Easy
使用位移统计二进制个数
https://blog.csdn.net/fuxuemingzhu/article/details/51290376
705. Path Sum III
Easy
找路径的个数,使用DFS*2或者BFS+DFS
https://blog.csdn.net/fuxuemingzhu/article/details/71097135
706. Binary Search
Easy
二分的模板
https://blog.csdn.net/fuxuemingzhu/article/details/81017415
707. Pascal’s Triangle II
Easy
原地翻转可以用倒序遍历
https://blog.csdn.net/fuxuemingzhu/article/details/51348629
708. Implement Queue using Stacks
Easy
两个栈实现一个队列
https://blog.csdn.net/fuxuemingzhu/article/details/51345762
709. Subtree of Another Tree
Easy
DFS*2或DFS+BSF
https://blog.csdn.net/fuxuemingzhu/article/details/71440802
710. House Robber
Easy
简单dp,当前房间偷和不偷两种状态
https://blog.csdn.net/fuxuemingzhu/article/details/51291936
711. Kth Largest Element in a Stream
Easy
使用小根堆维护k个值,则第一个元素就是第k大元素
https://blog.csdn.net/fuxuemingzhu/article/details/81027116
712. Reverse Vowels of a String
Easy
使用栈进行翻转,或者使用双指针
https://blog.csdn.net/fuxuemingzhu/article/details/51291677
713. Plus One
Easy
使用carry表示进位
https://blog.csdn.net/fuxuemingzhu/article/details/51346096
714. Ugly Number
Easy
除去2,3,5因子即可
https://blog.csdn.net/fuxuemingzhu/article/details/49183961
715. Search Insert Position
Easy
二分查找
https://blog.csdn.net/fuxuemingzhu/article/details/70738108
716. Set Mismatch
Easy
使用统计次数或者直接求和计算
https://blog.csdn.net/fuxuemingzhu/article/details/79247916
717. Largest Number At Least Twice of Others
Easy
找出最大值,然后弹掉,再找次大值即可。
https://blog.csdn.net/fuxuemingzhu/article/details/79188909
718. Power of Four
Easy
递归和迭代
https://blog.csdn.net/fuxuemingzhu/article/details/51291091
719. Find Pivot Index
Easy
先求和,在遍历求前半部分的和,找出左边等于右边
https://blog.csdn.net/fuxuemingzhu/article/details/79248308
720. Palindrome Number
Easy
可以先翻转成整数,然后判断和原来的是否相等
https://blog.csdn.net/fuxuemingzhu/article/details/71334663
721. License Key Formatting
Easy
计算第一个分割的长度,后面都是等长的了
https://blog.csdn.net/fuxuemingzhu/article/details/79234075
722. Two Sum
Easy
保存已经出现过的数字的索引,当下次遍历的时候遇到了满足要求的结果,那么既是停止
https://blog.csdn.net/fuxuemingzhu/article/details/72465759
723. Repeated Substring Pattern
Easy
判断每个子串重复多次能不能组成原来的串即可
https://blog.csdn.net/fuxuemingzhu/article/details/54564801
724. Maximize Distance to Closest Person
Easy
从前向后以及从后向前遍历两次,取最近距离
https://blog.csdn.net/fuxuemingzhu/article/details/80643250
725. Count and Say
Easy
统计字符连续出现的次数,并说出来,需要注意最后的一个字符也要添加上去
https://blog.csdn.net/fuxuemingzhu/article/details/71618640
726. Remove Duplicates from Sorted Array II
Easy
快指针移动判断和慢指针是否相等,如果不等就换到前面来
https://blog.csdn.net/fuxuemingzhu/article/details/82829709
727. Maximum Average Subarray I
Easy
一定注意是长度为k的滑动窗口,注意下标
https://blog.csdn.net/fuxuemingzhu/article/details/79248629
728. Find Mode in Binary Search Tree
Easy
如果使用附加空间,可以使用字典保存次数;否则需要遍历两次,判断出现次数。
https://blog.csdn.net/fuxuemingzhu/article/details/71124600
729. Guess Number Higher or Lower
Easy
使用二分查找
https://blog.csdn.net/fuxuemingzhu/article/details/71516105
730. Network Delay Time
Easy
dijkstra算法
https://leetcode.com/problems/network-delay-time/description/
731. Quad Tree Intersection
Easy
递归构造
https://blog.csdn.net/fuxuemingzhu/article/details/82356008
732. Factorial Trailing Zeroes
Easy
数有多少个5就行了
https://blog.csdn.net/fuxuemingzhu/article/details/51347044
733. Arranging Coins
Easy
二分查找满足条件的层数即可
https://blog.csdn.net/fuxuemingzhu/article/details/71330733
734. Implement Stack using Queues
Easy
使用一个队列就能实现栈,每次Push的时候,把队列里的所有元素弹出再放进来就好了。
https://blog.csdn.net/fuxuemingzhu/article/details/72598111
735. Add Binary
Easy
使用进位进行模拟
ddhttps://blog.csdn.net/fuxuemingzhu/article/details/77341154v
736. Number of Segments in a String
Easy
string.split()默认就是按照多个空格分割
https://blog.csdn.net/fuxuemingzhu/article/details/71194298
737. Path Sum
Easy
递归和迭代都能满足
https://blog.csdn.net/fuxuemingzhu/article/details/71715810
738. Isomorphic Strings
Easy
分别看s到t的映射和t到s的映射是不是一一映射的
https://blog.csdn.net/fuxuemingzhu/article/details/72127108
739. String Compression
Easy
使用Pos变量维护应该放到哪个位置,然后一次遍历统计次数就好了
https://blog.csdn.net/fuxuemingzhu/article/details/79183289
740. Range Sum Query - Immutable
Easy
保存每个位置的累积和
https://blog.csdn.net/fuxuemingzhu/article/details/79253036
741. Find All Anagrams in a String
Easy
滑动窗口,保存等长的子字符串中包含的字符数是否和另外一个相等
https://blog.csdn.net/fuxuemingzhu/article/details/79184109
742. Valid Parentheses
Easy
使用栈判断括号是否合法
https://blog.csdn.net/fuxuemingzhu/article/details/72366868
743. Magic Squares In Grid
Easy
暴力判断每个9*9的格子是不是满足题意的河图
https://blog.csdn.net/fuxuemingzhu/article/details/80473253
744. Linked List Cycle
Easy
走两步走一步,看是否重合
https://blog.csdn.net/fuxuemingzhu/article/details/51297249
745. Remove Linked List Elements
Easy
递归解法不好想,但是代码很简单
https://blog.csdn.net/fuxuemingzhu/article/details/77340945
746. Palindrome Linked List
Easy
利用一个数组保存所有的数字,然后判断数组是不是回文的。
https://blog.csdn.net/fuxuemingzhu/article/details/72597942
747. Minimum Depth of Binary Tree
Easy
DFS/BFS,其实DFS更难
https://blog.csdn.net/fuxuemingzhu/article/details/48519035
748. Word Pattern
Easy
一一映射
https://blog.csdn.net/fuxuemingzhu/article/details/72528424
749. Min Stack
Easy
使用辅助栈保存最小值
https://blog.csdn.net/fuxuemingzhu/article/details/79253237
750. Contains Duplicate II
Easy
使用字典保存出现的位置,当新的元素到来的时候,更新字典
https://blog.csdn.net/fuxuemingzhu/article/details/77387169
751. Valid Mountain Array
Easy
两个while就可以了
https://blog.csdn.net/fuxuemingzhu/article/details/84206380
752. Merge Sorted Array
Easy
从后向前进行遍历,每次找到大的往后移动
https://blog.csdn.net/fuxuemingzhu/article/details/77444695
753. X of a Kind in a Deck of Cards
Easy
需要进行一个遍历,找到是否存在这个分组大小
https://blog.csdn.net/fuxuemingzhu/article/details/82914279
754. Valid Palindrome II
Easy
需要用到双指针,先找到第一个不相等的位置,然后去除左边或者右边,判断是否是回文
https://blog.csdn.net/fuxuemingzhu/article/details/79252779
755. Longest Univalue Path
Easy
定义的DFS是对过root的单臂进行循环,但是更新的结果是双臂,有点意思
https://blog.csdn.net/fuxuemingzhu/article/details/79248926
756. Longest Common Prefix
Easy
遍历最短的子串的每一位,看所有字符串在这一位上是不是相等的
https://blog.csdn.net/fuxuemingzhu/article/details/77561186
757. Repeated String Match
Easy
重复NB/NA + 3次,看b是不是在a里
https://blog.csdn.net/fuxuemingzhu/article/details/79574835
122.Best Time to Buy and Sell Stock II
Easy
只要每天的比前面一天高,那么就买上并且卖掉即可
https://blog.csdn.net/fuxuemingzhu/article/details/70258549
758. Implement strStr()
Easy
循环加切片
https://blog.csdn.net/fuxuemingzhu/article/details/79254558
759. Heaters
Easy
找出最临近的距离
https://blog.csdn.net/fuxuemingzhu/article/details/79254295
760. Reach a Number
Easy
数学题,非常不喜欢
https://blog.csdn.net/fuxuemingzhu/article/details/84556932
761. Nth Digit
Easy
数学计算第多少位
https://blog.csdn.net/fuxuemingzhu/article/details/84559975
762. Sqrt(x)
Easy
二分查找或者牛顿法
https://blog.csdn.net/fuxuemingzhu/article/details/79254648
763. Shortest Unsorted Continuous Subarray
Easy
先排序,然后比较不等的位置
https://blog.csdn.net/fuxuemingzhu/article/details/79254454
764. Reverse Bits
Easy
翻转二进制再转成整数
https://blog.csdn.net/fuxuemingzhu/article/details/79254344
765. Valid Palindrome
Easy
过滤掉不是字母的字符,然后判断是不是回文即可
https://blog.csdn.net/fuxuemingzhu/article/details/79252936
766. Walking Robot Simulation
Easy
模拟整个过程即可
https://blog.csdn.net/fuxuemingzhu/article/details/82356556
767. K-diff Pairs in an Array
Easy
找绝对值出现等于k的次数,需要对k进行判断
https://blog.csdn.net/fuxuemingzhu/article/details/79255633
768. Excel Sheet Column Title
Easy
需要对26取余,并且做个判断,因为0\26对26取余的结果是一样的
https://blog.csdn.net/fuxuemingzhu/article/details/51286857
769. Rotate Array
Easy
可以使用额外数组,也可使用递归原地翻转
https://blog.csdn.net/fuxuemingzhu/article/details/79258753
770. Non-decreasing Array
Easy
找到变小的位置,然后和再前面的数字进行判断,看是应该修改当前的还是前面的
https://blog.csdn.net/fuxuemingzhu/article/details/79264475
771. Design Linked List
Easy
自己实现链表,挺复杂的。可以使用list进行模拟,方便很多。
https://blog.csdn.net/fuxuemingzhu/article/details/81026066
772. Range Sum of BST
Medium
需要根据根节点的值进行判断,邮编和左边需不需要继续寻找
https://blog.csdn.net/fuxuemingzhu/article/details/83961263
773. Max Increase to Keep City Skyline
Medium
分别找出行和咧的最大值,把每个位置增长到行列最大值的最小值
https://blog.csdn.net/fuxuemingzhu/article/details/79820383
774. Encode and Decode TinyURL
Medium
使用字典完成映射
https://blog.csdn.net/fuxuemingzhu
775. Maximum Binary Tree
Medium
找到最大值,然后数组切片
https://blog.csdn.net/fuxuemingzhu/article/details/79265180
776. Insert into a Binary Search Tree
Medium
递归解法,直接对当前节点进行操作!
https://blog.csdn.net/fuxuemingzhu/article/details/82385503
777. Find and Replace Pattern
Medium
判断是不是一一映射
https://blog.csdn.net/fuxuemingzhu/article/details/82014687
778. Minimum Add to Make Parentheses Valid
Medium
使用一个栈
https://blog.csdn.net/fuxuemingzhu/article/details/83045871
779. All Paths From Source to Target
Medium
回溯法找路径
https://blog.csdn.net/fuxuemingzhu/article/details/79624149
780. Score After Flipping Matrix
Medium
把行进行翻转,按列统计1的个数即可
https://blog.csdn.net/fuxuemingzhu/article/details/81118328
781. All Possible Full Binary Trees
Medium
使用两种循环遍历可能构成的左子树和右子树,每次构建新的root
https://blog.csdn.net/fuxuemingzhu/article/details/82084204
782. Partition Labels
Medium
使用字典保存每个字符最后出现的位置,如果一个区间内字符的最后位置的都在一起,那么就添加到结果里
https://blog.csdn.net/fuxuemingzhu/article/details/79265829
783. Battleships in a Board
Medium
直接数有多少小岛就行,判断小岛可以使用它的最左上角元素即可
https://blog.csdn.net/fuxuemingzhu/article/details/79403172
784. Complex Number Multiplication
Medium
复数运算,重点是分割字符串
https://blog.csdn.net/fuxuemingzhu/article/details/79266080
785. Counting Bits
Medium
i的二进制1个数等于i/2的二进制个数+i%2
https://blog.csdn.net/fuxuemingzhu/article/details/70806676
786. Spiral Matrix III
Medium
保留循环更新步数,很恶心
https://blog.csdn.net/fuxuemingzhu/article/details/82389223
787. Custom Sort String
Medium
统计次数,拼接成字符串
https://blog.csdn.net/fuxuemingzhu/article/details/79378688
788. Find All Duplicates in an Array
Medium
原地变成负数,如果已经是负数,那么说明出现了两次。
https://blog.csdn.net/fuxuemingzhu/article/details/79275549
789. Design Twitter
Medium
使用优先级队列弹出最新的内容
https://blog.csdn.net/fuxuemingzhu/article/details/82155420
790. Keys and Rooms
Medium
可以使用DFS和BFS解决
https://blog.csdn.net/fuxuemingzhu/article/details/80476862
791. Queue Reconstruction by Height
Medium
先插入长得高的他们不会影响别人,然后在对应位置插入次高的
https://blog.csdn.net/fuxuemingzhu/article/details/68486884
792. Find Bottom Left Tree Value
Medium
层次遍历,找出最后一层的第一个节点即可
https://blog.csdn.net/fuxuemingzhu/article/details/70161829
793. Daily Temperatures
Medium
使用一个栈,保存每个元素,如果后面的元素比较大,那么就已知出栈操作
https://blog.csdn.net/fuxuemingzhu/article/details/79285081
794. Validate Stack Sequences
Medium
使用栈进行模拟,无论如何都把当前的元素弹出,然后和弹出的元素进行比较,相等的话一直弹出
https://blog.csdn.net/fuxuemingzhu/article/details/84495797
795. Find Largest Value in Each Tree Row
Medium
遍历每一层,找出最大值即可。
https://blog.csdn.net/fuxuemingzhu/article/details/70183314
796. Single Element in a Sorted Array
Medium
可以使用很风骚的二分查找k,
https://blog.csdn.net/fuxuemingzhu/article/details/79275636
797. Construct Binary Tree from Preorder and Postorder Traversal
Medium
找到后序的倒数第二个元素就是右子树的根节点
https://blog.csdn.net/fuxuemingzhu/article/details/82391321
798. Single Number III
Medium
使用异或或者字典解决
https://blog.csdn.net/fuxuemingzhu/article/details/79434100
799. Optimal Division
Medium
这个题非常tricky,没意思
https://blog.csdn.net/fuxuemingzhu/article/details/79403723
800. Palindromic Substrings
Medium
判断回文,需要判断去掉两头字符之后是否仍然是回文,动态规划
https://blog.csdn.net/fuxuemingzhu/article/details/79433960
801. Max Area of Island
Medium
找到岛的数量,这个题可以使用BFS或者DFS的方法
https://blog.csdn.net/fuxuemingzhu/article/details/79182435
802. Score of Parentheses
Medium
可以使用栈和递归,这个题很巧妙,是个不错的题目
https://blog.csdn.net/fuxuemingzhu/article/details/84956643
803. Complete Binary Tree Inserter
Medium
使用数组保存每个节点的指针,因为是完全二叉树,所以节点位置除以2就得到了它的父亲节点
https://blog.csdn.net/fuxuemingzhu/article/details/82958284
804. Sort Characters By Frequency
Medium
根据出现次数排序,然后构建新的字符串即可
https://blog.csdn.net/fuxuemingzhu/article/details/79437548
805. Escape The Ghosts
Medium
找出是否存在更小的曼哈顿距离
https://blog.csdn.net/fuxuemingzhu/article/details/80480462
806. Binary Tree Inorder Traversal
Medium
中序遍历本身很简单,但是这个递归的写法不好想
https://blog.csdn.net/fuxuemingzhu/article/details/79294461
807. Smallest Subtree with all the Deepest Nodes
Medium
定义递归函数:返回<最大深度,最大深度对应的节点>
https://blog.csdn.net/fuxuemingzhu/article/details/82432130
808. Most Frequent Subtree Sum
Medium
遍历求和,字典统计出现次数最多的所有元素
http://www.cnblogs.com/grandyang/p/6481682.html
809. Beautiful Arrangement
Medium
经典回溯法,要背会
https://blog.csdn.net/fuxuemingzhu/article/details/79431941
810. Product of Array Except Self
Medium
使用两次遍历,分别从左边和右边向中间靠拢
https://blog.csdn.net/fuxuemingzhu/article/details/79325534
811. Minimum ASCII Delete Sum for Two Strings
Medium
和LCS很接近的DP题目
https://blog.csdn.net/fuxuemingzhu/article/details/79822689
812. Linked List Components
Medium
判断当前节点在set中,但是下一个节点不在即可
https://blog.csdn.net/fuxuemingzhu/article/details/80479431
813. Top K Frequent Elements
Medium
使用字典统计次数,使用优先级队列实现排序
https://blog.csdn.net/fuxuemingzhu/article/details/79294073
814. Minimum Moves to Equal Array Elements II
Medium
找出中位数,然后求所有数字到中位数的距离和
https://blog.csdn.net/fuxuemingzhu/article/details/79437926
815. Permutations
Medium
经典回溯法
https://blog.csdn.net/fuxuemingzhu/article/details/79363903
816. Teemo Attacking
Medium
计算每次中毒的开始和结束时间
https://blog.csdn.net/fuxuemingzhu/article/details/79438658
817. Generate Parentheses
Medium
经典回溯法
https://blog.csdn.net/fuxuemingzhu/article/details/79362373
818. Minesweeper
Medium
扫雷游戏,使用DFS
https://blog.csdn.net/fuxuemingzhu/article/details/79462285
819. Beautiful Arrangement II
Medium
每次把后面最大数字放到前面来就能增加一种新的差值
https://blog.csdn.net/fuxuemingzhu/article/details/79437401
820. Map Sum Pairs
Medium
前缀树的题目,可以背一背
https://blog.csdn.net/fuxuemingzhu/article/details/79436619
821. Friend Circles
Medium
并查集的题目
https://blog.csdn.net/fuxuemingzhu/article/details/70258103
822. Array Nesting
Medium
一直遍历就好了,使用一个visited数组,但不是回溯。
https://blog.csdn.net/fuxuemingzhu/article/details/79460546
823. Most Stones Removed with Same Row or Column
Medium
需要使用并查集,非常考验抽象能力
https://blog.csdn.net/fuxuemingzhu/article/details/84500642
824. Mirror Reflection
Medium
镜像反射,需要找规律,分偶数和奇数进行讨论
https://blog.csdn.net/fuxuemingzhu/article/details/82432579
825. Implement Magic Dictionary
Medium
找到存不存在汉明间距是1
https://blog.csdn.net/fuxuemingzhu/article/details/79447934
826. Rabbits in Forest
Medium
对兔子出现次数进行统计,然后求一个公式。
https://blog.csdn.net/fuxuemingzhu/article/details/79457764
827. Max Chunks To Make Sorted
Medium
从左到右遍历一次,时刻保持当前的最大值,如果当前最大值等于索引,那么chunck+1.
https://blog.csdn.net/fuxuemingzhu/article/details/80482014
828. Print Binary Tree
Medium
先把二叉树构造出来,然后使用类似二分查找左右分治的方法。
https://blog.csdn.net/fuxuemingzhu/article/details/79439026
829. Implement Trie (Prefix Tree)
Medium
构造字典树,是个好题,需要背会
https://blog.csdn.net/fuxuemingzhu/article/details/79388432
830. Replace Words
Medium
使用字典树或者拉链法求解
https://blog.csdn.net/fuxuemingzhu/article/details/79391682
831. Maximum XOR of Two Numbers in an Array
Medium
暴力求解会超时,需要使用异或的性质从最高位开始遍历。或者使用字典树。
https://blog.csdn.net/fuxuemingzhu/article/details/79473171
832. Combination Sum
Medium
回溯法,遍历开始的地方不变,要跟踪target
https://blog.csdn.net/fuxuemingzhu/article/details/79322462
833. Combination Sum II
Medium
经典的回溯法,这个题需要背会
https://blog.csdn.net/fuxuemingzhu/article/details/79343638
834. Combination Sum III
Medium
也是经典回溯法,需要注意的是不重复,所以递归开始的地方要+1
https://blog.csdn.net/fuxuemingzhu/article/details/79343681
835. Combination Sum IV
Medium
这个题需要使用动态规划求次数了,并不用回溯法。类似于爬楼梯
https://blog.csdn.net/fuxuemingzhu/article/details/79343825
836. Subsets
Medium
使用回溯法进行搜索,需要注意的是要跟踪现在的位置,不能向回走
https://blog.csdn.net/fuxuemingzhu/article/details/79359540
837. Count Numbers with Unique Digits
Medium
这个题是找规律+动态规划,要计算1位数字、2位数字…n位数字每位数字都不重复的情况有多少个
https://blog.csdn.net/fuxuemingzhu/article/details/80552049
838. Combinations
Medium
这个组合问题需要跟踪现在的位置防止向后走,还要跟踪在剩余的数字里面取多少个
https://blog.csdn.net/fuxuemingzhu/article/details/80552049
839. Gray Code
Medium
格雷码是把比自己小一位的格雷码正向一遍,然后以1开头+小一位的格雷码反向一遍,是个递归过程
https://blog.csdn.net/fuxuemingzhu/article/details/80664204
840. Subsets II
Medium
这个求子集的时候要屏蔽相同的起始元素,在for循环里进行判断
https://blog.csdn.net/fuxuemingzhu/article/details/79785548
841. Letter Combinations of a Phone Number
Medium
这个是个排列问题,先把当前位置的所有字符一次排好,然后再排列后面的字符串
https://blog.csdn.net/fuxuemingzhu/article/details/79363119
842. Palindrome Partitioning
Medium
同样的回溯法,如果定义新函数没有太多难度,如果使用题目给定的函数进行递归需要额外判断终止条件
https://blog.csdn.net/fuxuemingzhu/article/details/79574462
843. Permutations II
Medium
如果当前数字和前面的数字相等,并且前面的数字没有访问过,那么就不能搜索
https://blog.csdn.net/fuxuemingzhu/article/details/79513261
844. Restore IP Addresses
Medium
回溯法,需要考虑ip的各种过滤条件,比如255和0开头的数字不合法
https://blog.csdn.net/fuxuemingzhu/article/details/80657420
845. Split Array into Fibonacci Sequence
Medium
回溯,需要注意不能超过int,和addative numbers很像
https://blog.csdn.net/fuxuemingzhu/article/details/80662840
846. Permutation Sequence
Medium
需要找规律,每一位等于剩余数字/剩余位数的全排列
https://blog.csdn.net/fuxuemingzhu/article/details/80658810
847. Word Search
Medium
也是经典回溯法,需要保存是否已经访问过了某个位置,总体代码很常见
https://blog.csdn.net/fuxuemingzhu/article/details/79386066
848. Add and Search Word - Data structure design
Medium
Trie加上递归,本身不难,注意遍历所有子节点然后递归的操作
https://blog.csdn.net/fuxuemingzhu/article/details/79390052
849. N-Queens II
Medium
回溯法去解决。使用一维的数组保存每行放在第多少列,进行有效棋盘判断的时候,需要判断同列或者斜率绝对值1
https://blog.csdn.net/fuxuemingzhu/article/details/79517109
850. Shopping Offers
Medium
使用回溯法进行求解,套餐和单独点都进行尝试,这个题经常考!
https://blog.csdn.net/fuxuemingzhu/article/details/82504050
851. Binary Tree Preorder Traversal
Medium
这个先序遍历迭代解法使用的是栈,有点违反直觉,建议仔细思考思考
https://blog.csdn.net/fuxuemingzhu/article/details/72575422
852. Asteroid Collision
Medium
栈里保留着向右移动的小行星,如果当前的行星是向左的,向栈里面判断自身是否销毁
https://blog.csdn.net/fuxuemingzhu/article/details/81079015
853. Next Greater Element II
Medium
单调递减栈,这个题难点在于循环数组,容易分析出把数组过两遍即可,需要求余
https://blog.csdn.net/fuxuemingzhu/article/details/79463006
854. Image Overlap
Medium
正方形重合,使用字典保存两两之间向量的差,求最大的移动向量出现的次数
https://blog.csdn.net/fuxuemingzhu/article/details/82597238
855. Minimum Path Sum
Medium
最小路径和,简单的动态规划,注意初始状态
https://blog.csdn.net/fuxuemingzhu/article/details/82620422
856. Unique Paths
Medium
简单的动态规划,给周围包上一圈全0的数字,方便状态转移
https://blog.csdn.net/fuxuemingzhu/article/details/79337352
857. Unique Paths II
Medium
也是动态规划,和上面的区别在于有障碍物,直接设置障碍物处的状态是0
https://blog.csdn.net/fuxuemingzhu/article/details/83154114
858. Rotate Image
Medium
先上下翻转,再沿着主对角线翻转即可完成旋转操作
https://blog.csdn.net/fuxuemingzhu/article/details/79451733
859. Target Sum
Medium
使用动态规划,dp[i][j]表示到第i个位置位置构成和为j的组合有多少种
https://blog.csdn.net/fuxuemingzhu/article/details/80484450
860. Unique Binary Search Trees
Medium
记忆化递归,动态规划,卡特兰数等等,方法很多
https://blog.csdn.net/fuxuemingzhu/article/details/79367789
861. Decode String
Medium
字符串解码,需要用到栈保存已经有的字符串和当前的数字,很经典的题目
https://blog.csdn.net/fuxuemingzhu/article/details/79332894
862. Group Anagrams
Medium
对字符串进行排序,排序之后相等的字符串说明包含的字符相等
https://blog.csdn.net/fuxuemingzhu/article/details/69831375
863. Task Scheduler
Medium
任务调度题目,很容易推出公式,但是切记整个时间最少满足任务个数
https://blog.csdn.net/fuxuemingzhu/article/details/81947087
864. Best Time to Buy and Sell Stock with Cooldown
Medium
经典动态规划的题目,这个题需要定义两个数组:今天有股票的情况下的收益和今天没有股票情况下的收益,然后状态转移就简单了
https://blog.csdn.net/fuxuemingzhu/article/details/82656899
865. Best Time to Buy and Sell Stock with Transaction Fee
Medium
动态规划,做法和上面非常类似,每次计算收益的时候需要减去手续费
https://blog.csdn.net/fuxuemingzhu/article/details/79888528
866. Flatten Binary Tree to Linked List
Medium
如果用递归的话一定明白递归函数是把一个二叉树弄平形成链表,然后找到链表尾部,把链表拼接
https://blog.csdn.net/fuxuemingzhu/article/details/70241424
867. Longest Increasing Subsequence
Medium
LIS问题,是dp最经典的题目之一,需要从每个位置向前遍历以更新dp
https://blog.csdn.net/fuxuemingzhu/article/details/79820919
868. Search a 2D Matrix II
Medium
从矩阵的左下或者右上开始遍历,很简单
https://blog.csdn.net/fuxuemingzhu/article/details/79459314
869. Search a 2D Matrix
Medium
在二维数组中进行搜索,可以使用矩阵左下和右上角的查询方法,也可以直接遍历每一个位置。
https://blog.csdn.net/fuxuemingzhu/article/details/79459200
870. Perfect Squares
Medium
动态规划,一个数字能由多少个整数平方和构成等于满足更小数字+平方数
的状态+1。
https://blog.csdn.net/fuxuemingzhu/article/details/51284292
871. Partition Equal Subset Sum
Medium
把数字的累计和当做状态,当前的状态等于前面的数字累积和-当前数值的状态。
https://blog.csdn.net/fuxuemingzhu/article/details/79787425
872. Contiguous Array
Medium
求累积和,然后判断在这个位置前面,这个累计和是不是出现过
https://blog.csdn.net/fuxuemingzhu/article/details/82667054
873. Merge Intervals
Medium
使用start和end两个变量表示区间,当区间不再重叠的时候把上面区间放入结果中,重置start和end
https://blog.csdn.net/fuxuemingzhu/article/details/69078468
874. Course Schedule
Medium
拓扑排序,每次弹出入度为0的节点,并把以他为入度的所有节点的入度-1
https://blog.csdn.net/fuxuemingzhu/article/details/82951771
875. Construct Binary Tree from Preorder and Inorder Traversal
Medium
前序遍历的首节点就是根节点,在中序中的位置坐标是左子树,右边是右子树
https://blog.csdn.net/fuxuemingzhu/article/details/80775173
876. Lowest Common Ancestor of a Binary Tree
Medium
这个递归调用需要注意如果查找到任何一个节点都算是找到了最低公共祖先
https://blog.csdn.net/fuxuemingzhu/article/details/80778001
877. Word Break
Medium
动态规划,每个位置的状态由前面的某个状态+一个条件得到,搜索是两重循环
https://blog.csdn.net/fuxuemingzhu/article/details/79368360
878. Minimum Size Subarray Sum
Medium
虫取法,找到最小长度的满足区间
https://blog.csdn.net/fuxuemingzhu/article/details/83063096
879. Sort List
Medium
对于list的merge sort。
https://blog.csdn.net/fuxuemingzhu/article/details/79630742
880. Find First and Last Position of Element in Sorted Array
Medium
自己实现lower_bound和upper_bound函数,使用二分
https://blog.csdn.net/fuxuemingzhu/article/details/83273084
881. Search in Rotated Sorted Array
Medium
对二分的进一步理解:判断下一步查找的范围到底在mid左边还是右边
https://blog.csdn.net/fuxuemingzhu/article/details/79534213
882. Maximal Square
Medium
这个题使用dp,某位置的最大正方形边长等于左边、上边、左上边三个位置最小的边长+1
https://blog.csdn.net/fuxuemingzhu/article/details/82992233
883. Jump Game
Medium
贪心算法,保存每一步都选择跳的最远的地方,如果这个位置不能到达直接返回false.
https://blog.csdn.net/fuxuemingzhu/article/details/83504437
884. Find the Duplicate Number
Medium
寻找重复的数字,相当于链表中的环,也可以使用二分查找
https://blog.csdn.net/fuxuemingzhu/article/details/79530847
885. Linked List Cycle II
Medium
找出链表环的入口,可以使用双指针,也可以使用set保存已经遍历过的路径
https://blog.csdn.net/fuxuemingzhu/article/details/79530638#set_134
886. Add Two Numbers
Medium
两个链表的加法,只要有一个链表不空或者进位存在就添加新的节点
https://blog.csdn.net/fuxuemingzhu/article/details/79379626
887. Next Permutation
Medium
找到后面的第一个不降序数字,与第一个比它大的位置进行交换,然后把后面部分翻转即可
https://blog.csdn.net/fuxuemingzhu/article/details/82113409
888. Word Search
Medium
标准的回溯法,需要向周围进行搜索,同时保存已经遍历了的位置不再访问
https://blog.csdn.net/fuxuemingzhu/article/details/79386066
889. Coin Change
Medium
动态规划,定义dp数组是能够成的amount的最少硬币数,遍历硬币更新每个amount
https://blog.csdn.net/fuxuemingzhu/article/details/83592442
890. Maximum Product Subarray
Medium
求连续数组最大积,需要保存每个位置的最大、最小积,每个位置都去维护这两个变量
https://blog.csdn.net/fuxuemingzhu/article/details/83211451
891. Longest Palindromic Substring
Medium
字符串的简单动态规划,也可以直接暴力求解
https://blog.csdn.net/fuxuemingzhu/article/details/79573621
892. Validate Binary Search Tree
Medium
递归函数中维护每个节点的取值上下限即可。或者有序的中序遍历是个BST
https://blog.csdn.net/fuxuemingzhu/article/details/70209865
893. Longest Substring Without Repeating Characters
Medium
虫取法+set找到每个不含重复元素的子串,保存最长子串
https://blog.csdn.net/fuxuemingzhu/article/details/82022530
894. Implement Rand10() Using Rand7()
Medium
需要先构造出rand40,然后mod10即可得到rand10.
https://blog.csdn.net/fuxuemingzhu/article/details/81809478
895. Integer Break
Medium
任意>=2的整数都可以拆解成2x+3y,当y尽可能大的时候target = 2x+3y的结果最大
https://blog.csdn.net/fuxuemingzhu/article/details/80486238
896. Redundant Connection
Medium
并查集的题目,这种题目是个模板,应该背会DSU的代码
https://blog.csdn.net/fuxuemingzhu/article/details/80487064
897. Integer to Roman
Medium
整数变成罗马数字,把整数进行拆解即可,在拆解的过程中拼接每个数字对应的字符
https://blog.csdn.net/fuxuemingzhu/article/details/48210399
898. Kth Smallest Element in a BST
Medium
递归解法需要使用全局变量保存已经遍历了多少个了,到达k个时直接停止并返回即可。
https://blog.csdn.net/fuxuemingzhu/article/details/69947495
899. Bulb Switcher II
Medium
智力题,被踩了很多次,没仔细做
https://blog.csdn.net/fuxuemingzhu/article/details/79451356
900. Reordered Power of 2
Medium
思路要灵活一点,直接统计数字出现的次数是否相等即可,不必真的重新排序
https://blog.csdn.net/fuxuemingzhu/article/details/82468653
901. Shuffle an Array
Medium
Fisher–Yates 洗牌算法:依次遍历列表中的每一位,并将这一位与其后面的随机一位交换顺序。
https://blog.csdn.net/fuxuemingzhu/article/details/79391342
902. Add Two Numbers II
Medium
使用额外空间保存两个列表的值元素,然后再模拟加法
https://blog.csdn.net/fuxuemingzhu/article/details/79380457
903. Minimum Area Rectangle
Medium
对角线确定长方形,判断另外一条对角线上的两个点是不是存在即可
https://leetcode.com/problems/minimum-area-rectangle/
904. Different Ways to Add Parentheses
Medium
这是个递归求解的题目,如果遇到一个运算符就把左右两部分分别求出值,然后再做操作。左右部分分别求值求相当于给左右部分分别加上了括号
https://blog.csdn.net/fuxuemingzhu/article/details/79568487
905. Design Circular Deque
Medium
设计deque,最简单的方法是使用双向链表
https://blog.csdn.net/fuxuemingzhu/article/details/81027989
906. Random Pick Index
Medium
使用蓄水池抽样,每个数字被选择的概率是1/cnt,遍历结束即可
https://blog.csdn.net/fuxuemingzhu/article/details/79540576
907. Linked List Random Node
Medium
和上题一致,蓄水池抽样
https://blog.csdn.net/fuxuemingzhu/article/details/79488113
908. RLE Iterator
Medium
一个循环,判断当前位置和剩下的数字n之间的关系,看是否向后走即可
https://blog.csdn.net/fuxuemingzhu/article/details/82757347
909. Total Hamming Distance
Medium
统计int的32位中有多少个数字该位是1、多少个数字该位是0,结果是两者相乘
https://blog.csdn.net/fuxuemingzhu/article/details/79494653
910. Split Linked List in Parts
Medium
求出每一段的长度,然后定一个函数切链表即可
https://blog.csdn.net/fuxuemingzhu/article/details/79543931#_57
911. Hand of Straights
Medium
使用map保存每个数字的次数,然后向后遍历W-1个数字,判断是否都存在即可
https://blog.csdn.net/fuxuemingzhu/article/details/82530857
912. Copy List with Random Pointer
Medium
遍历两遍,第一遍构造的节点放到字典里,第二遍遍历再连接起来
https://blog.csdn.net/fuxuemingzhu/article/details/80787528
399. Evaluate Division
Medium
带权有向图的搜索问题
https://blog.csdn.net/fuxuemingzhu/article/details/82591165
636. Exclusive Time of Functions
Medium
计算机函数的调度问题,使用栈解决
https://blog.csdn.net/fuxuemingzhu/article/details/79537000
646. Maximum Length of Pair Chain
Medium
这个就是最多能看多少个电视节目的问题,使用的是贪心法,策略是优先选择结束时间早的项目
https://blog.csdn.net/fuxuemingzhu/article/details/79826524
328. Odd Even Linked List
Medium
先分别构建偶数位置的链表和奇数位置的链表,把对应位置的结果放到对应位置之后,再拼接即可
https://blog.csdn.net/fuxuemingzhu/article/details/79569396
638. Shopping Offers
Medium
DFS进行搜索,尝试每种套餐方案
https://blog.csdn.net/fuxuemingzhu/article/details/82504050
318. Maximum Product of Word Lengths
Medium
直接O(N^2)遍历即可
https://blog.csdn.net/fuxuemingzhu/article/details/80932597
173. Binary Search Tree Iterator
Medium
把每个节点的左孩子放到栈中,遍历栈中节点的时候需要把其右孩子的所有左孩子放到栈中
https://blog.csdn.net/fuxuemingzhu/article/details/79436947
337. House Robber III
Medium
递归查找每个节点可不可以用的情况下,最优结果是多少。可不可以用是由父亲节点用没用过决定的,所以递归函数有个变量保存父亲节点的状态。
https://blog.csdn.net/fuxuemingzhu/article/details/80779068
343. Integer Break
Medium
需要证明把一个数字拆成尽可能多的3和尽可能少的4的和的时候,总乘积最大
https://blog.csdn.net/fuxuemingzhu/article/details/80486238
875. Koko Eating Bananas
Medium
这个是一个变相的二分查找,需要根据当前的值判断查找后的移动
https://blog.csdn.net/fuxuemingzhu/article/details/82716042
901. Online Stock Span
Medium
需要使用一个单调递减栈保存每个数字的前面出现了多少小于等于该数字的数,后来的数字需要吞掉栈中比自己小的数字
手机扫一扫
移动阅读更方便
你可能感兴趣的文章