leetcode探索中级算法
leetcode探索中级答案汇总:
https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/
1)数组和字符串:
leetcode 15 三数之和(medium)排序+双指针
leetcode73 矩阵置零 (medium) 空间节省技巧
leetcode 49 字母异位词分组(medium)排序+哈希
leetcode 3 无重复字符的最长子串(medium) DP
leetcode5 最长回文子串(medium)DP
leetcode334 递增的三元子序列(meidum)双指针
2)链表:
leetcode 2 两数相加(medium)链表
leetcode 160相交链表 (easy)哈希、链表、双指针
leetcode 328 奇偶链表 (easy)双指针
3)树和图:
3.1)二叉树的后序遍历迭代法较为困难,使用space O(1)的马拉车算法也并不容易,都属于hard问题;
leetcode 102二叉树的层序遍历 (medium) 迭代、BFS
leetcode 144二叉树的前序遍历 (medium) 迭代、递归、DFS
leetcode 94二叉树的中序遍历 (medium) 迭代、递归、DFS
3.2)二叉树性质相关;
leetcode 103二叉树的锯齿形层次遍历 (medium)迭代、栈、BFS
leetcode 105从前序与中序遍历序列构造二叉树 (medium)递归、遍历
leetcode 116填充每个节点的下一个右侧节点指针 (medium)迭代遍历、BFS
3.3)关于二叉搜索树,一般是二叉树的遍历方法+二叉搜索树的性质;
leetcode 230二叉搜索树中第k小的元素 (medium)BST性质、迭代、递归、DFS
3.4)关于图的问题一般使用一般性的DFS,但有的问题加上并查集方法会极大的简化问题;
leetcode 200岛屿的个数 (medium) 并查集,DFS
4)回溯算法
4.1)这三个题目都为全部排列的问题,每次必定排列一个元素
leetcode 17电话号码的数字组合(medium)DFS,递归,回溯
leetcode 22括号生成(medium)DFS,递归,回溯
leetcode 46. 全排列(medium)DFS,递归,回溯
leetcode 51 N皇后问题 (hard)DFS,递归,回溯
4.2)前三个题目每次都会选择排列一个元素,而78问题子集第一次不push第二次push元素,因此得到一个序列的所有子集,子集每次两个分支因此总共O(2^n)
leetcode 78子集 (medium)DFS,递归,回溯,不一定每次push
4.3)图搜索
leetcode 79 单词搜索(medium)DFS、回溯、剪枝
4.4)全排列的另一种解法:
leetcode 31下一个排列 (medium)
5)排序和搜索
leetcode 75颜色分类(medium)计数排序
leetcode 347前k个高频元素(medium)哈希map、小顶堆
leetcode 215 第K个最大的元素(medium)小顶堆
leetcode 34在排序数组中查找元素的第一个和最后一个位置(medium)二分查找(lower_bound)
leetcode 56区间合并(medium)快速排序
leetcode 33搜索旋转排序数组 (medium)二分查找
6)动态规划
leetcode 55 跳跃游戏 (medium)dp[i]=max(dp[i-1],nums[i]+i)贪心
leetcode 62. 不同路径 (medium)dp[i][j]=dp[i][j-1]+dp[i-1][j];
leetcode 322. 零钱兑换 (medium)dp[i]=min(dp[i],1+dp[i-coins[j]])
leetcode 300. 最长上升子序列 (medium)if(j<i&&nums[j]<nums[i]) dp[i]=max(dp[i],dp[j]+1)、二分查找
7)设计问题
leetcode 297二叉树的序列化与反序列化 (hard)层序遍历、迭代;先序遍历、递归
8)数学问题
leetcode 202 快乐数(easy)
leetcode172 阶乘后的零 (easy)
leetcode171 Excel列表序列号(easy)
leetcode 50. Pow(x, n) (medium)分治法
leetcode 69. x 的平方根(easy)牛顿法、二分法
leetcode 29两数相除(medium)位运算、数学
leetcode 166分数到小数(medium)位运算、数学
9)其他类型
leetcode 371两整数之和(easy)位运算
leetcode 169求众数(easy)摩尔投票、stack
leetcode 150 逆波兰表达式求值(medium)stack
leetcode 621 任务调度器 Task Scheduler(medium)Greedy
leetcode探索中级算法的更多相关文章
- LeetCode探索初级算法 - 动态规划
LeetCode探索初级算法 - 动态规划 今天在LeetCode上做了几个简单的动态规划的题目,也算是对动态规划有个基本的了解了.现在对动态规划这个算法做一个简单的总结. 什么是动态规划 动态规划英 ...
- leetcode探索高级算法
C++版 数组和字符串 正文 链表: 正文 树与图: 树: leetcode236. 二叉树的最近公共祖先 递归(先序) leetcode124二叉树最大路径和 递归 图: leetcode 547朋 ...
- FreeCodeCamp 中级算法(个人向)
freecodecamp 中级算法地址戳这里 Sum All Numbers in a Range 我们会传递给你一个包含两个数字的数组.返回这两个数字和它们之间所有数字的和. function su ...
- 72【leetcode】经典算法- Lowest Common Ancestor of a Binary Search Tree(lct of bst)
题目描述: 一个二叉搜索树,给定两个节点a,b,求最小的公共祖先 _______6______ / \ ___2__ ___8__ / \ / \ 0 _4 7 9 / \ 3 5 例如: 2,8 - ...
- FCC中级算法(上)
在学习FCC中级算法这一块,自己遇到了很多问题,通过RSA也慢慢把问题解决了,发现每一个问题都会有很多的解决思路,因此把自己想到的一些思路记录到这里. 1. Sum All Numbers in a ...
- 用Javascript方式实现LeetCode中的算法(更新中)
前一段时间抽空去参加面试,面试官一开始让我做一道题,他看完之后,让我回答一下这个题的时间复杂度并优化一下,当时的我虽然明白什么是时间复杂度,但不知道是怎么计算的,一开局出师不利,然后没然后了,有一次我 ...
- FCC编程题之中级算法篇(下)
介绍 本篇是"FCC编程题之中级算法篇"系列的最后一篇 这期完结后,下期开始写高级算法,每篇一题 目录 1. Smallest Common Multiple 2. Finders ...
- FCC编程题之中级算法篇(中)
介绍 接着上次的中级算法题 目录 1. Missing letters 2. Boo who 3. Sorted Union 4. Convert HTML Entities 5. Spinal Ta ...
- FCC编程题之中级算法篇(上)
介绍 FCC: 全称为freeCodeCamp,是一个非盈利性的.面向全世界的编程练习网站.这次的算法题来源于FCC的中级算法题. FCC中级算法篇共分为(上).(中).(下)三篇.每篇各介绍7道算法 ...
随机推荐
- SQL*Loader 的使用sqlldr和sqluldr2方法详解
oracle数据导出工具sqluldr2可以将数据以csv.txt等格式导出,适用于大批量数据的导出,导出速度非常快.导出后可以使用oracle loader工具将数据导入.简介:Sqluldr2:专 ...
- payload免杀之msbuild利用
0x00 前言 红队必备技巧免杀之一,现在主要是.net4.0下实现.待我过几天有空实现一下.net2.0. 0x01 免杀过程 利用cs生成c#的payload,如图所示: 将paypload内容填 ...
- 常见排序&查询算法Java代码实现
1. 排序算法代码实现 /** * ascending sort * 外层循环边界条件:总共需要冒泡的轮数--每一轮都将最大或最小的数冒泡到最后 * 内层循环边界条件:冒泡数字移动的边界--最终数字需 ...
- java_day04_数组
chap04目标:数组---------------------------------------------- 1.概述 数组是一组数据的集合,数组中的每个数据被称为元素.在java中,数组也是对 ...
- 论文笔记:Integrated Object Detection and Tracking with Tracklet-Conditioned Detection
概要 JiFeng老师CVPR2019的另一篇大作,真正地把检测和跟踪做到了一起,之前的一篇大作FGFA首次构建了一个非常干净的视频目标检测框架,但是没有实现帧间box的关联,也就是说没有实现跟踪.而 ...
- css文字样式与div
文字与图片 如果要要将字移动到图片的上方,这里就需要定位一下,设置div为父级,为相对定位:设置h1为绝对定位: div{position:relative;} h1{font-size:16px;c ...
- vim文本编辑及文件查找应用1
vim编辑器: 文本编辑器: 文本:纯文本,ASCII text;Unicode(全球通用); 文本编辑种类: 行编辑器:sed 全屏编辑器:nano, ...
- [AWS - EC2]如何使用 PuTTY 连接到 Amazon Linux 2 实例。How to Connect Amazon Linux 2 Instance from Windows Using PuTTY
1. 下载 PuTTY 2. 安装到任意目录 3. 打开 PuTTYgen (注意不是 PuTTY), 如图: 选择 RSA , 点击 Load. 找到从 AWS 创建实例的时候生成的 key,要选择 ...
- python中的函数def和函数的参数
'''函数: 1.减少代码重用性 2.易维护 3.可扩展性强 4.类型function 定义函数: def 函数变量名(): 函数的调用: 1.函数名加括号 2.函数如果没被调用,不会去执行函数内部的 ...
- Android异常与性能优化相关面试问题-ANR异常面试问题详解
什么是ANR? Application Not Responding 造成ANR的主要原因: 应用程序的响应性是由ActivityManager和WindowManager系统服务监视的,当监视到在A ...