
leetcode分类题集
文章平均质量分 88
本专栏是我在复习中总结的分类别的高频算法题和Java代码.。选题参考了cyc2018大佬的学习笔记和极客大学的算法训练营的训练大纲
clonechen2021
这个作者很懒,什么都没留下…
展开
-
算法面试题《精选题目+题解分类汇总》
从去年年底开始想准备找实习,于是就开始懒散的复习。大二学过数据结构,对基本的算法理论和数据结构有过了解,但是感觉又基本都交还给老师了于是开始零散的复习,在leetcode上按照通过率由高到低开始刷,发现自己连通过率最高的几个题都吃力,几乎每个题都要去看题解然后慢慢消化刷了十多个题就放弃了,这种盲目的玩法真的太伤自信心于是就去看书,先复习下基础,当然就盲目看书还是没学到什么东西之后又买了慕...原创 2020-03-24 12:35:16 · 2807 阅读 · 0 评论 -
玩转十大经典排序算法(动图+Java代码)
总结选择排序实现一:/** * 选择排序1 * 每次遍历查找剩余元素的最小值然后放到对应的位置 * * @param arr */ public static void SelectionSort1(int[] arr) { int n = arr.length; for (int i = 0;...原创 2020-03-07 23:06:56 · 3322 阅读 · 1 评论 -
面试必刷的算法题 - 剑指offer题集Java实现
本文的题目均来自LeetCode的剑指offer题库文章目录基础知识数据结构面试题03.数组中重复的数字面试题04.二维数组中的查找面试题05.替换空格面试题06.从尾到头打印链表面试题07.重建二叉树面试题09.用两个栈实现队列算法与数据操作面试题10-I.斐波那契数列面试题11.旋转数组的最小数字面试题12.矩阵中的路径面试题13.机器人的运动范围[面试题14-I. 剪绳子](https:/...原创 2020-04-12 22:14:20 · 3343 阅读 · 1 评论 -
leetcode高频题笔记之动态规划
一直畏惧的动态规划终于开始强化型啃了文章目录70.爬楼梯62.不同路径63.不同路径II1143.最长公共子序列120.三角形最小路径和70.爬楼梯dp方程:dp[i] = dp[i-1] + dp[i-2]自底向上迭代class Solution { public int climbStairs(int n) { if (n == 0) return 1;...原创 2020-04-10 17:39:49 · 1158 阅读 · 0 评论 -
leetcode高频题笔记之位运算
文章目录位运算常见问题191.位1的个数231.2的幂342.4的幂190.颠倒二进制位338.比特位计数461.汉明距离136.只出现一次的数字260.只出现一次的数字III268.缺失数字面试题16.01.交换数字693.交替位二进制数476.数字的补数371.两整数之和318.最大单词长度乘积位运算常见问题191.位1的个数解法一:利用x&1返回最低位是否为1,不断的左...原创 2020-03-30 22:25:10 · 966 阅读 · 0 评论 -
leetcode高频题笔记之二分查找
文章目录[69 x 的平方根](https://leetcode-cn.com/problems/sqrtx/)367.有效的完全平方数33.搜索旋转排序数组74.搜索二维矩阵153.寻找旋转排序数组中的最小值744.寻找比目标字母大的最小字母540.有序数组中的单一元素278.第一个错误的版本34.在排序数组中查找元素的第一个和最后一个位置69 x 的平方根去除x0和x1的情况,然后从1到...原创 2020-03-30 15:03:22 · 402 阅读 · 0 评论 -
leetcode高频题笔记之二叉树的递归
文章目录普通二叉树104.二叉树的最大深度111.二叉树的最小深度110.平衡二叉树543.二叉树的直径(两节点最大路径)687.最长同值路径226.翻转二叉树101.对称二叉树617.合并二叉树112.路径总和437.路径总和III572.另一个树的子树404.左叶子之和337.打家劫舍III671.二叉树中第二小的节点BST669.修剪二叉搜索树230.二叉搜索树中第K小的元素538.把二叉搜...原创 2020-03-27 21:32:24 · 502 阅读 · 0 评论 -
leetcode高频题笔记之贪心算法
文章目录860.柠檬水找零455.分发饼干121.买卖股票的最佳时机122.买卖股票的最佳时机II55.跳跃游戏[45.跳跃游戏 II](https://leetcode-cn.com/problems/jump-game-ii/)435.无重叠区间452.用最少数量的箭引爆气球406.根据身高重建队列605.种花问题392.判断子序列665.非递减数列53.最大子序和763.划分字母区间860...原创 2020-03-25 22:24:55 · 1442 阅读 · 0 评论 -
leetcode高频题笔记之双指针专题
在许多数组和链表的题中,都需要用到双指针的思想来优化,本文总结归纳了几种常见的双指针和对应的应用案例,通过针对的性的刷题希望能熟练的掌握双指针的运用文章目录167.两数之和II-输入有序数组(头尾指针)633.平方数之和(头尾指针)345.反转字符串中的元音字母(头尾指针)680.验证回文字符串Ⅱ(头尾指针)88.合并两个有序数组(异步指针)21.合并两个有序链表(异步指针)141.环形链表(快...原创 2020-03-25 11:52:49 · 941 阅读 · 0 评论 -
leetcode高频题笔记之DFS和BFS
文章目录代码模板BFS模板DFS模板递归玩法非递归玩法二叉树的层次遍历括号生成在每个树行中找最大值岛屿数量岛屿的最大面积被围绕的区域单词接龙代码模板BFS模板def BFS(graph, start, end): visited = set() queue = [] queue.append([start]) while queue: node = queue.po...原创 2020-03-23 17:27:45 · 2576 阅读 · 0 评论 -
leetcode高频题笔记之分治与回溯
文章目录Pow(x,n)子集Pow(x,n)分治法采用分治的思想,求x的n次方,可以先求x的n/2次方如果n为偶数x^n = x^(n/2)* x^(n/2)如果n为奇数x^n = x^(n/2)* x^(n/2) *xpublic class Main { public double myPow(double x, int n) { if (x == 1...原创 2020-03-22 19:20:31 · 1056 阅读 · 0 评论 -
leetcode高频题笔记之递归
文章目录括号生成验证二叉搜索树二叉树的最大高度二叉树的最小深度翻转二叉树二叉搜索树的最近公共祖先二叉树的最近公共祖先从前序与中序遍历序列构造二叉树括号生成dfs深度搜索public class Main { List<String>res; public List<String> generateParenthesis(int n) { ...原创 2020-03-21 22:16:01 · 665 阅读 · 0 评论 -
leetcode高频题笔记之树的遍历
概要:采用递归,状态标记迭代,普通迭代三种方法实现了二叉树的前中后序遍历状态标记法的思路来源于题解颜色标记法其中,递归和颜色标记法的前中后序遍历都非常相似,只需要记忆一个就可以了!文章目录二叉树的中序遍历(3种实现)递归实现状态标记法迭代实现普通迭代实现二叉树的前序遍历(3种实现)递归实现状态标记法迭代实现普通迭代实现二叉树的后序遍历(3种实现)递归实现状态标记法迭代实现普通迭代实现二叉...原创 2020-03-18 16:20:32 · 827 阅读 · 0 评论 -
leetcode高频题笔记之哈希表
文章目录有效的字母异位词字母异位词分组存在重复元素最长和谐子序列最长连续序列有效的字母异位词解法一:用数组模拟哈希表public class Solution { public boolean isAnagram(String s, String t) { if (s.length() != t.length()) return false; int...原创 2020-03-18 14:04:19 · 468 阅读 · 0 评论 -
leetcode高频题笔记之栈和队列
文章目录有效的括号最小栈用栈实现队列柱形图中的最大面积接雨水有效的括号解法:压栈出栈public class Solution { public boolean isValid(String s) { Deque<Character> deque = new LinkedList<>(); Map<Character,...原创 2020-03-17 15:45:04 · 651 阅读 · 0 评论 -
leetcode高频题笔记之链表
文章目录环形链表环形链表解法一:记录查找法class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; }}public class Solution { public boolean hasCycle(ListN...原创 2020-03-16 23:17:38 · 993 阅读 · 0 评论 -
leetcode高频题笔记之数组与矩阵
文章目录移动零盛最多水的容器爬楼梯两数之和三数之和移动零最佳解法:public class Solution { public void moveZeroes(int[] nums) { int j = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] != ...原创 2020-03-16 21:45:17 · 838 阅读 · 0 评论