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探索中级算法的更多相关文章

  1. LeetCode探索初级算法 - 动态规划

    LeetCode探索初级算法 - 动态规划 今天在LeetCode上做了几个简单的动态规划的题目,也算是对动态规划有个基本的了解了.现在对动态规划这个算法做一个简单的总结. 什么是动态规划 动态规划英 ...

  2. leetcode探索高级算法

    C++版 数组和字符串 正文 链表: 正文 树与图: 树: leetcode236. 二叉树的最近公共祖先 递归(先序) leetcode124二叉树最大路径和 递归 图: leetcode 547朋 ...

  3. FreeCodeCamp 中级算法(个人向)

    freecodecamp 中级算法地址戳这里 Sum All Numbers in a Range 我们会传递给你一个包含两个数字的数组.返回这两个数字和它们之间所有数字的和. function su ...

  4. 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 - ...

  5. FCC中级算法(上)

    在学习FCC中级算法这一块,自己遇到了很多问题,通过RSA也慢慢把问题解决了,发现每一个问题都会有很多的解决思路,因此把自己想到的一些思路记录到这里. 1. Sum All Numbers in a ...

  6. 用Javascript方式实现LeetCode中的算法(更新中)

    前一段时间抽空去参加面试,面试官一开始让我做一道题,他看完之后,让我回答一下这个题的时间复杂度并优化一下,当时的我虽然明白什么是时间复杂度,但不知道是怎么计算的,一开局出师不利,然后没然后了,有一次我 ...

  7. FCC编程题之中级算法篇(下)

    介绍 本篇是"FCC编程题之中级算法篇"系列的最后一篇 这期完结后,下期开始写高级算法,每篇一题 目录 1. Smallest Common Multiple 2. Finders ...

  8. FCC编程题之中级算法篇(中)

    介绍 接着上次的中级算法题 目录 1. Missing letters 2. Boo who 3. Sorted Union 4. Convert HTML Entities 5. Spinal Ta ...

  9. FCC编程题之中级算法篇(上)

    介绍 FCC: 全称为freeCodeCamp,是一个非盈利性的.面向全世界的编程练习网站.这次的算法题来源于FCC的中级算法题. FCC中级算法篇共分为(上).(中).(下)三篇.每篇各介绍7道算法 ...

随机推荐

  1. Centos7下查看端口占用

    netstat -nap #会列出所有正在使用的端口及关联的进程/应用 netstat -lnp|grep 5000 这条语句的作用是查询占用5000端口的应用和进程,把5000端口替换成你要过滤的端 ...

  2. Hadoop入门到实战全套大数据Hadoop学习视频

    资料获取方式,关注公总号RaoRao1994,查看往期精彩-所有文章或者后台回复[Hadoop]获取,即可获取资源下载链接 更多资源获取,请关注公总号RaoRao1994

  3. 链接进入react二级路由,引发的子组件二次挂载

    这个问题很怪,我两个二级路由从链接进入的时候,会挂载两次子组件. 从链接进入,是因为新页面在新标签页打开的. 有子组件是因为公共组件提取 同样的操作,有一些简单的二级路由页面,就不会挂载两次. 讲道理 ...

  4. Delphi MSComm控件属性

  5. Linux中退出编辑模式的命令

    vim 有三种模式,注意:这三种模式有很多不同的叫法,我这里是按照鸟哥的linux书中的叫法. 一般指令模式.编辑模式.指令列命令模式 1.vim 文件名      进入一般模式: 2.按 i 进行编 ...

  6. ubantu32位 linux下hexedit的下载安装

    Hexedit软件介绍: hexedit是一个开源的完全免费的命令行软件,可用于在任何GNU / Linux操作系统下以十六进制和ASCII(美国信息交换标准代码)格式查看和编辑文件. 下载: 在so ...

  7. python对ip地址排序、对列表进行去重

    一:使用python对ip地址排序所用代码示例一: import socket iplist = ['10.5.11.1','192.168.1.33','10.5.2.4','10.5.1.3',' ...

  8. 【墨西哥区域赛】Carpet

    原题: 题意: 给你一个树,有1e5个节点,让你把这个树放在一个长1e6宽20的网格图里,要求一个格子放一个节点,树边之间不能相交 这是一道构造题 因为树的形状可能性很多,很复杂,所以不能简单猜测,而 ...

  9. nodejs研发环境

    https://blog.csdn.net/angl129/article/details/90696251

  10. Mysql索引类型分析

    一.简介   MySQL目前主要有以下几种索引类型:   1.普通索引   2.唯一索引   3.主键索引   4.组合索引   5.全文索引   二.语句 CREATE TABLE table_na ...