算法题目部分参照了《进军硅谷》这本书。

github:https://github.com/qcer/Algo-Practice

(如果你觉得有帮助,记得给个star,THS)

一、排序

  1. 冒泡排序
  2. 选择排序
  3. 插入排序
  4. 希尔排序
  5. 归并排序
  6. 快速排序
  7. 堆排序

二、查找

  1. 二分查找

三、其他

  1. 求区间问题
  2. 求第K大元素
  3. 寻找两数之和为sum的元素
  4. 平移数组
  5. 两数组第K值
  6. 数组去重
  7. 三色排序
  8. 盛水问题
  9. 数组分界值
  10. 买股票问题
  11. 随机红包问题
  12. N皇后问题

四、DP问题

Repost

  1. 数字三角形问题
  2. 最长递增子序列
  3. 0-1背包问题
  4. 连续子序列最大和
  5. 数字矩形最大路径和
  6. 爬楼梯
  7. 最长公共子串
  8. 最长公共子序列

五、字符串

  1. 字符判重

六、树

  1. 遍历(前、中、后序,层次遍历)
  2. 二叉搜索树
  3. 二叉搜索树最近公共祖先
  4. 二叉最近公共祖先(一)
  5. 二叉最近公共祖先(二)
  6. 随机构造二叉树
  7. AVL树
  8. 红黑树
  9. 左倾红黑树
  10. 翻转二叉树
  11. 结点中序遍历下的前驱和后继结点
  12. 二叉搜索树最邻近结点
  13. 二叉树路径和

JavaScript实现常见算法面试题的更多相关文章

  1. 前端常见算法面试题之 - 二维数组中的查找[JavaScript解法]

    --------------------- 作者:吴潇雄 来源:CSDN 原文:https://blog.csdn.net/weixin_43439741/article/details/835118 ...

  2. 前端常见算法面试题之 - 重建二叉树[JavaScript解法]

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列[1,2,4,7,3,5,6,8],和中序遍历序列[4,7 ...

  3. 前端常见算法面试题之 - 从尾到头打印链表[JavaScript解法]

    题目描述 输入一个链表的头结点,从尾到头反过来打印出每个结点的值 实现思路 前端工程师看到这个题目,直接想到的就是,写个while循环来遍历链表,在循环中把节点的值存储在数组中,最后在把数组倒序后,遍 ...

  4. JS&Java实现常见算法面试题

    Github上的算法repo地址:https://github.com/qcer/Algo-Practice (如果你觉得有帮助,可以给颗星星收藏之~~~) 一.Java实现部分 参见随笔分类的算法部 ...

  5. 常见的js算法面试题收集,es6实现

    1.js 统计一个字符串出现频率最高的字母/数字 let str = 'asdfghjklaqwertyuiopiaia'; const strChar = str => { let strin ...

  6. Twitter算法面试题详解(Java实现)

    最近在网上看到一道Twitter的算法面试题,网上已经有人给出了答案,不过可能有些人没太看明白(我也未验证是否正确),现在给出一个比较好理解的答案.先看一下题目. 图1 先看看图图1.可以将方块看做砖 ...

  7. 算法实践——Twitter算法面试题(积水问题)的线性时间解法

    问题描述:在下图里我们有不同高度的挡板.这个图片由一个整数数组所代表,数组中每个数是墙的高度.下图可以表示为数组(2.5.1.2.3.4.7.2).假如开始下雨了,那么挡板之间的水坑能够装多少水(水足 ...

  8. 【BAT经典算法面试题系列】求和为n的连续正整数

    马上就要到9月份了,意味着一年一度的秋招就要开始了,相信不论是正在实习的童鞋还是马上就要找工作的童鞋,BAT无疑是国内的"明星企业",是每个学计算机的小伙伴们心之向往的企业,但是呢 ...

  9. 华为Python 算法面试题

    华为算法面试题 """ 算法题: 提供一个序列,完成对这个序列的分割.要求分割后的两个序列彼此差值最小 实现函数,返回两个序列 """ de ...

随机推荐

  1. vue-webpack-boilerplate分析

    看完这篇文章你会学到通过vue-cli创建的项目,执行npm run dev后都发生了什么事情以及执行流程. 在创建vue项目时,官方推荐使用vue-cli这个命令行工具. # 全局安装 vue-cl ...

  2. 201521123026 《Java程序设计》第5周学习总结

    1. 本章学习总结 尝试使用思维导图总结有关多态与接口的知识点 使用常规方法总结其他上课内容 1.接口的出现时为了实现多态,多态的实现不一定依赖于接口. 2.接口的常见成员有:全局常量和抽象方法. 3 ...

  3. 201521123108《Java程序设计》第3周学习总结

    1. 本章学习总结 2. 书面作业 Q1. 代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  4. 201521123063 《Java程序设计》 第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 读操作 (1)读取控制台输入: BufferedReader br = new BufferedReader( ...

  5. 201521123112《Java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...

  6. 201521123022 《Java程序设计》 第九周学习总结

    1.本章学习总结 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 Q1.1 截图你的提交结果(出现学号) Q1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何 ...

  7. 下载安装ActiveMQ(消息队列)

    安装步骤: 第一步.安装jdk环境,因为ActiveMQ是使用java语言编写. 第二步.将下载好的activemq压缩包上传至Linux系统,进行解压. 第三步.进入解压后的bin/目录,进行启动a ...

  8. BlockingQueue<> 队列的作用

    BlockingQueue<> 队列的作用 BlockingQueue 实现主要用于生产者-使用者队列 BlockingQueue 实现主要用于生产者-使用者队列,BlockingQueu ...

  9. Matlab入门学习(矩阵、函数、绘图的基本使用)

    一.矩阵 1.定义和简单使用(一般的编程语言,数组下标都是从0开始的,但是MATLAB是从1开始的) >> a=[ ; ; ] a = >> b=[ ; ; ]; >&g ...

  10. firefly rk3288 内核模块编译

    在驱动开发的过程中,常常需要对代码进行返回的调试,如果返回的编译再烧写内核,势必会浪费开发人员大量的时间和心力,加班加点那是时常的事.为此linux提供了编译内核模块的方式,无需返回烧写内核,只需in ...