Giter VIP home page Giter VIP logo

leetcode-java's Introduction

LeetCode-Java

LICENSE 996.icu

说明

  • leetcode练习,坚持每天一道,目前已完成161道
  • 解题语言是Java
  • 每道题都是可编译运行的
  • 每道题有自己的方法和他人优秀解法
  • 每道题会尽量分析一下解题步骤和复杂度
  • 欢迎star、fork、交流,一起互勉
  • 微信号:pp_hdsny(备注leetcode)
  • 网址:https://leetcode-cn.com/

20190513-20190519待解题目列表

回溯算法

已解题目

20190404# leetcode目前已有题目1020道,免费852道

题目类型(更新中)

题目列表(更新中--已完成161)

No 题目 解决方案 相关话题 难度 remark
#1 两数之和 TwoSum 数组哈希表 Easy
#2 两数相加 AddTwoNumbers 数组数学 Easy
#3 无重复字符的最长子串 LengthOfLongestSubstring 哈希表双指针字符串sliding window Medium
#4 寻找两个有序数组的中位数 FindMedianSortedArrays 数组二分查找分治算法 Hard 自己原始解法
#5 最长回文子串 LongestPalindrome 字符串动态规划 Medium
#6 Z 字形变换 Convert 字符串 Medium
#7 整数反转 Reverse 数学 Easy
#8 字符串转换整数 (atoi) MyAtoi 字符串数学 Medium
#9 回文数 IsPalindrome 数学 Easy
#10 正则表达式匹配 IsMatch 字符串动态规划回溯算法 Hard 自己原始解法
#11 盛最多水的容器 MaxArea 数组双指针 Medium
#12 整数转罗马数字 IntToRoman 数学字符串 Medium 反向求解#13
#13 罗马数字转整数 RomanToInt 数学字符串 Easy 反向求解#12
#14 最长公共前缀 LongestCommonPrefix 字符串 Easy
#15 三数之和 ThreeSum 数组双指针 Medium
#16 最接近的三数之和 ThreeSumClosest 数组双指针 Medium
#17 电话号码的字母组合 LetterCombinations 字符串回溯算法 Medium
#18 四数之和 FourSum 数组双指针哈希表 Medium
#19 删除链表的倒数第N个节点 RemoveNthFromEnd 链表双指针 Medium
#20 有效的括号 IsValid 字符串 Easy
#21 合并两个有序链表 MergeTwoLists 链表 Easy
#22 括号生成 GenerateParenthesis 字符串回溯算法 Medium
#23 合并K个排序链表 MergeKLists 链表分治算法 Hard
#24 两两交换链表中的节点 SwapPairs 链表 Medium
#25 k个一组翻转链表 ReverseKGroup 链表 Hard
#26 删除排序数组中的重复项 RemoveDuplicates 链表双指针 Easy
#27 移除元素 RemoveElement 数组双指针 Easy
#28 实现strStr() StrStr 双指针字符串 Easy
#29 两数相除 Divide 数学二分查找 Medium
#30 串联所有单词的子串 FindSubstring 哈希表双指针字符串 Hard
#31 下一个排列 NextPermutation 数组 Medium
#32 最长有效括号 LongestValidParentheses 字符串动态规划 Hard
#33 搜索旋转排序数组 Search 数组二分查找 Medium
#34 在排序数组中查找元素的第一个和最后一个位置 SearchRange 数组二分查找 Medium
#35 搜索插入位置 SearchInsert 数组二分查找 Easy
#36 有效的数独 IsValidSudoku 哈希表 Medium
#37 解数独 SolveSudoku 哈希表回溯算法 Hard
#38 报数 CountAndSay 字符串 Easy
#40 组合总和 II CombinationSum2 数组回溯算法 Medium
#42 接雨水 Trap 数组双指针 Hard
#43 字符串相乘 Multiply 数学字符串 Medium
#44 通配符匹配 IsMatch 贪心算法字符串动态规划回溯算法 Hard
#45 跳跃游戏 II Jump 贪心算法数组 Hard
#49 字母异位词分组 GroupAnagrams 哈希表字符串 Medium
#51 N皇后 SolveNQueens 回溯算法 Hard 自己原始解法
#53 最大子序和 MaxSubArray.java 数组分治算法动态规划 Easy
#55 跳跃游戏 CanJump 贪心算法数组 Medium
#56 合并区间 Merge 排序数组 Medium
#60 第k个排列 GetPermutation 数学回溯算法 Medium
#61 旋转链表 RotateRight 链表双指针 Medium
#62 不同路径 UniquePaths 数组动态规划 Medium
#63 不同路径 II UniquePathsWithObstacles 数组动态规划 Medium
#64 最小路径和 MinPathSum 数组动态规划 Medium
#69 x 的平方根 MySqrt 数学二分查找 Easy
#70 爬楼梯 ClimbStairs 动态规划 Easy 经典题
#71 简化路径 SimplifyPath 字符串 Medium
#72 编辑距离 MinDistance 字符串动态规划 Hard
#76 最小覆盖子串 MinWindow 哈希表双指针字符串sliding window Hard
#78 子集 Subsets 位运算数组回溯算法 Medium
#80 删除排序数组中的重复项 II RemoveDuplicates 数组双指针 Medium
#86 分隔链表 Partition 链表双指针 Medium
#90 子集 II SubsetsWithDup 数组回溯算法 Medium
#91 解码方法 NumDecodings 字符串动态规划 Medium
#92 反转链表 II ReverseBetween 链表 Medium
#93 复原IP地址 RestoreIpAddresses 字符串回溯算法 Medium
#95 不同的二叉搜索树 II GenerateTrees 动态规划 Medium DP实现未想到
#103 二叉树的锯齿形层次遍历 ZigzagLevelOrder BFS Medium
#104 二叉树的最大深度 MaxDepth DFS Easy
#108 将有序数组转换为二叉搜索树 SortedArrayToBST DFS Easy
#113 路径总和 II PathSum DFS Medium
#114 二叉树展开为链表 Flatten DFS Medium
#120 三角形最小路径和 MinimumTotal 数组动态规划 Medium
#121 买卖股票的最佳时机 MaxProfit 数组动态规划 Easy
#122 买卖股票的最佳时机 II MaxProfit 贪心算法数组 Easy
#123 买卖股票的最佳时机 III MaxProfit 数组动态规划 Hard
#125 验证回文串 //待提交 双指针字符串 Easy
#126 单词接龙 II FindLadders BFS数组字符串回溯算法 Hard
#127 单词接龙 LadderLength BFS Medium 自己原始解法
#128 最长连续序列 LongestConsecutive 并查集数组 Hard
#138 复制带随机指针的链表 CopyRandomList 哈希表链表 Medium
#139 单词拆分 WordBreak 动态规划 Medium 回溯实现耗时
#141 环形链表 HasCycle 链表双指针 Easy
#142 环形链表 II DetectCycle 链表双指针 Medium
#146 LRU缓存机制 LRUCache 设计 Hard
#147 对链表进行插入排序 InsertionSortList 排序链表 Medium
#148 排序链表 SortList.java 排序链表 Medium
#151 翻转字符串里的单词 ReverseWords 字符串 Medium 自己原始解法
#152 乘积最大子序列 MaxProduct 数组动态规划 Medium
#155 最小栈 MinStack 设计 Easy
#160 相交链表 GetIntersectionNode 链表 Easy
#167 两数之和 II - 输入有序数组 TwoSum 链表双指针二分查找 Easy
#174 地下城游戏 CalculateMinimumHP 二分查找动态规划 Hard
#187 重复的DNA序列 FindRepeatedDnaSequences 位运算哈希表 Medium
#188 买卖股票的最佳时机 IV MaxProfit 动态规划 Hard
#190 颠倒二进制位 ReverseBits 位运算 Easy
#198 打家劫舍 Rob 动态规划 Easy
#199 二叉树的右视图 RightSideView BFSDFS Medium
#200 岛屿的个数 NumIslands BFSDFS并查集 Medium
#203 移除链表元素 RemoveElements 链表 Easy
#206 反转链表 ReverseList 链表 Easy
#207 课程表 CanFinish BFSDFS拓扑排序 Medium
#208 实现 Trie (前缀树) Trie 设计字典树 Medium
#211 添加与搜索单词 - 数据结构设计 WordDictionary 设计字典树回溯算法 Medium
#213 打家劫舍 II Rob 动态规划 Medium
#214 最短回文串 ShortestPalindrome 字符串 Hard
#215 数组中的第K个最大元素 FindKthLargest 分治算法 Medium
#221 最大正方形 MaximalSquare 动态规划 Medium
#225 用队列实现栈 MyStack 设计 Easy
#232 用栈实现队列 MyQuene 栈](https://leetcode-cn.com/tag/stack/)、[设计](https://leetcode-cn.com/tag/design/) Easy
#234 回文链表 IsPalindrome 链表双指针 Easy
#236 二叉树的最近公共祖先 LowestCommonAncestor Medium
#237 删除链表中的节点 DeleteNode 链表 Easy
#239 滑动窗口最大值 MaxSlidingWindow sliding window Hard
#264 丑数 II NthUglyNumber 数学动态规划 Medium
#279 完全平方数 NumSquares BFS数学动态规划 Medium
#290 单词模式 WordPattern 哈希表 Easy
#300 最长上升子序列 LengthOfLIS 二分查找动态规划 Medium
#303 区域和检索 - 数组不可变 NumArray 动态规划 Easy
#304 二维区域和检索 - 矩阵不可变 NumMatrix 动态规划 Medium
#307 区域和检索 - 数组可修改 NumArray 树状数组线段树 Medium
#309 最佳买卖股票时机含冷冻期 MaxProfit 动态规划 Medium
#315 计算右侧小于当前元素的个数 CountSmaller 树状数组线段树二叉搜索树分治算法 Hard
#322 零钱兑换 CoinChange 动态规划 Medium
#328 奇偶链表 OddEvenList 链表 Medium
#336 回文对 PalindromePairs 字典树哈希表字符串 Hard
#338 比特位计数 CountBits 位运算动态规划 Medium
#343 整数拆分 IntegerBreak 数学动态规划 Medium
#354 俄罗斯套娃信封问题 MaxEnvelopes.java 二分查找动态规划 Hard
#376 摆动序列 WiggleMaxLength 贪心算法动态规划 Medium
#402 移掉K位数字 RemoveKdigits 贪心算法 Medium
#409 最长回文串 LongestPalindrome 哈希表 Easy
#415 字符串相加 AddStrings 字符串 Easy
#424 替换后的最长重复字符 CharacterReplacement 双指针sliding window Medium
#432 全 O(1) 的数据结构 AllOne 设计 Hard
#438 找到字符串中所有字母异位词 FindAnagrams 哈希表 Easy
#449 序列化和反序列化二叉搜索树 Serialize_deserialize Medium
#450 删除二叉搜索树中的节点 DeleteNode Medium
#452 用最少数量的箭引爆气球 FindMinArrowShots 贪心算法 Medium
#454 四数相加 II FourSumCount 哈希表二分查找 Medium
#455 分发饼干 FindContentChildren 贪心算法 Easy
#457 环形数组循环 CircularArrayLoop 数组双指针 Medium
#460 LFU缓存 LFUCache 设计 Hard
#485 最大连续1的个数 FindMaxConsecutiveOnes 数组 Easy
#516 最长回文子序列 LongestPalindromeSubseq 动态规划 Medium
#538 把二叉搜索树转换为累加树 ConvertBST Easy
#547 朋友圈 FindCircleNum DFS并查集 Medium
#563 二叉树的坡度 FindTilt Easy
#567 字符串的排列 CheckInclusion 双指针 Medium
#639 解码方法 2 NumDecodings 动态规划 Hard
#653 两数之和 IV - 输入 BST FindTarget Easy
#674 最长连续递增序列 FindLengthOfLCIS 数组 Easy
#695 岛屿的最大面积 MaxAreaOfIsland DFS数组 Medium
#746 使用最小花费爬楼梯 MinCostClimbingStairs 数组动态规划 Easy
#978 最长湍流子数组 MaxTurbulenceSize 数组动态规划sliding window Medium
#1004 最大连续1的个数 III LongestOnes 双指针sliding window Medium
#1025 除数博弈 DivisorGame 数学动态规划 Easy

leetcode-java's People

Contributors

pphdsny avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.