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. JAVA 分布式

    什么是分布式系统? 要理解分布式系统,主要需要明白一下2个方面: 1.分布式系统一定是由多个节点组成的系统. 其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的. 2.这些连通的节点 ...

  2. ActiveMQ基础简介

    1. 什么是ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现 ...

  3. JavaJDBC【四、存储过程的使用】

    Mysql还没学到存储过程,不过语法比较简单 此处不深究数据库中的存储过程怎么创建,后面在mysql的学习笔记里再做整理 今天只整理java中如何调用存储过程 语句 CallableStatement ...

  4. 第11章 Spring Boot使用Actuator

    在生产环境中,需要实时或定期监控服务的可用性,spring-Boot的Actuator 功能提供了很多监控所需的接口. Actuator是Spring Boot提供的对应用系统的自省和监控的集成功能, ...

  5. 第三方库-正则re

    Python正则表达式里的单行re.S和多行re.M模式 Python 的re模块内置函数几乎都有一个flags参数,以位运算的方式将多个标志位相加.其中有两个模式:单行(re.DOTALL, 或者r ...

  6. Mybatis关联查询(转载)

    原文地址: http://www.cnblogs.com/xiaolang8762400/p/7399892.html   mybatis 提供了高级的关联查询功能,可以很方便地将数据库获取的结果集映 ...

  7. [SC] OpenSCManager 失败 5:拒绝访问

    问题:[SC] OpenSCManager 失败 5: 网查这个错误信息指拒绝访问  权限不足 1.解决: 以管理员身份运行cmd,即可 查询这个提示是指什么错误时,看网上有很多文章写用下面这种方法, ...

  8. python中的list,tuple,dict,set简介---陈雨童

    变量和对象 变量把对象和自己连接起来(指针连接对象空间),引用建立了变量和对象之间的映射关系,这就是引用.引用完成,就实现了赋值.变量通过对象的内存地址指向对象,类似于软链接 将变量a赋值给变量b,其 ...

  9. 并发编程-Java内存模型

    将之前看过的关于并发编程的东西总结记录一下,本文简单记录Java内存模型的相关知识. 1. 并发编程两个关键问题 并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步. (1)在命令式 ...

  10. Windows系统下载地址

    地址: https://msdn.itellyou.cn/ 里面给出的是迅雷下载链接,请提前安装好迅雷