作者: 负雪明烛
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 | 需要使用一个单调递减栈保存每个数字的前面出现了多少小于等于该数字的数,后来的数字需要吞掉栈中比自己小的数字 | https://blog.csdn.net/fuxuemingzhu/article/details/82781059 |