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. SQL*Loader 的使用sqlldr和sqluldr2方法详解

    oracle数据导出工具sqluldr2可以将数据以csv.txt等格式导出,适用于大批量数据的导出,导出速度非常快.导出后可以使用oracle loader工具将数据导入.简介:Sqluldr2:专 ...

  2. payload免杀之msbuild利用

    0x00 前言 红队必备技巧免杀之一,现在主要是.net4.0下实现.待我过几天有空实现一下.net2.0. 0x01 免杀过程 利用cs生成c#的payload,如图所示: 将paypload内容填 ...

  3. 常见排序&查询算法Java代码实现

    1. 排序算法代码实现 /** * ascending sort * 外层循环边界条件:总共需要冒泡的轮数--每一轮都将最大或最小的数冒泡到最后 * 内层循环边界条件:冒泡数字移动的边界--最终数字需 ...

  4. java_day04_数组

    chap04目标:数组---------------------------------------------- 1.概述 数组是一组数据的集合,数组中的每个数据被称为元素.在java中,数组也是对 ...

  5. 论文笔记:Integrated Object Detection and Tracking with Tracklet-Conditioned Detection

    概要 JiFeng老师CVPR2019的另一篇大作,真正地把检测和跟踪做到了一起,之前的一篇大作FGFA首次构建了一个非常干净的视频目标检测框架,但是没有实现帧间box的关联,也就是说没有实现跟踪.而 ...

  6. css文字样式与div

    文字与图片 如果要要将字移动到图片的上方,这里就需要定位一下,设置div为父级,为相对定位:设置h1为绝对定位: div{position:relative;} h1{font-size:16px;c ...

  7. vim文本编辑及文件查找应用1

    vim编辑器:    文本编辑器:        文本:纯文本,ASCII text;Unicode(全球通用); 文本编辑种类:        行编辑器:sed        全屏编辑器:nano, ...

  8. [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,要选择 ...

  9. python中的函数def和函数的参数

    '''函数: 1.减少代码重用性 2.易维护 3.可扩展性强 4.类型function 定义函数: def 函数变量名(): 函数的调用: 1.函数名加括号 2.函数如果没被调用,不会去执行函数内部的 ...

  10. Android异常与性能优化相关面试问题-ANR异常面试问题详解

    什么是ANR? Application Not Responding 造成ANR的主要原因: 应用程序的响应性是由ActivityManager和WindowManager系统服务监视的,当监视到在A ...