AlgorithmCode

本仓库收集一些算法的答案,目标是整理一套系统的算法参考答案以供其他学习者参考,我也在慢慢的学算法并且在坚持刷题,我会不定期的上传新的题目,希望大家共同努力!

https://github.com/zfman/AlgorithmCode

在线编程网站:

  • LeetCode
  • 牛客网-剑指offer

目录

  • 排序算法
  • LeetCode
  • 剑指offer

排序算法

算法 稳定 时间复杂度 空间复杂度 备注
选择排序 no N2 1
冒泡排序 yes N2 1
插入排序 yes N \~ N2 1 时间复杂度和初始顺序有关
希尔排序 no N 的若干倍乘于递增序列的长度 1
快速排序 no NlogN logN
三向切分快速排序 no N \~ NlogN logN 适用于有大量重复主键
归并排序 yes NlogN N
堆排序 no NlogN 1

快速排序是最快的通用排序算法,它的内循环的指令很少,而且它还能利用缓存,因为它总是顺序地访问数据。它的运行时间近似为 \~cNlogN,这里的 c 比其他线性对数级别的排序算法都要小。使用三向切分快速排序,实际应用中可能出现的某些分布的输入能够达到线性级别,而其它排序算法仍然需要线性对数时间。

  • 选择排序
  • 插入排序
  • 冒泡排序
  • 冒泡排序改进版
  • 希尔排序
  • 自顶向下归并排序
  • 自底向上归并排序
  • 快速排序
  • 三向切分快速排序
  • 堆的基本操作
  • 堆排序

LeetCode

1-50

  • 2.两数相加
  • 7.反转整数
  • 9.回文数
  • 13.罗马数字转整数
  • 27.移除元素
  • 28.实现strStr()
  • 35.搜索插入位置
  • 38.报数

51-100

  • 53.最大子序和
  • 58.最后一个单词的长度
  • 66.加一
  • 67.二进制求和
  • 69.x的平方根
  • 83.删除排序链表中的重复元素
  • 100.相同的树

101-150

  • 112.路径总和
  • 125.验证回文串

151-200

  • 160.相交链表
  • 167.两数之和 II - 输入有序数组
  • 188.杨辉三角

剑指offer

  • 两个链表的第一个公共结点
  • 链表中倒数第k个结点
  • 树的子结构
  • 合并两个排序的链表
  • 二叉树的镜像
  • 矩形覆盖
  • 调整数组顺序使奇数位于偶数前面
  • 反转链表

LeetCode和剑指offer题目大合集相关推荐

  1. 【LeetCode】剑指 Offer 54. 二叉搜索树的第k大节点

    [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 文章目录 [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 一.中序遍历(提前返回) 一.中序遍历(提前返回) ...

  2. 【LeetCode】剑指 Offer 50. 第一个只出现一次的字符

    [LeetCode]剑指 Offer 50. 第一个只出现一次的字符 文章目录 [LeetCode]剑指 Offer 50. 第一个只出现一次的字符 一.哈希表 二.有序哈希表 本题考查哈希表的使用, ...

  3. 【LeetCode】剑指 Offer 42. 连续子数组的最大和

    [LeetCode]剑指 Offer 42. 连续子数组的最大和 文章目录 [LeetCode]剑指 Offer 42. 连续子数组的最大和 一.动态规划 一.动态规划 状态定义 设动态规划列表 dp ...

  4. 【LeetCode】剑指 Offer 40. 最小的k个数

    [LeetCode]剑指 Offer 40. 最小的k个数 文章目录 [LeetCode]剑指 Offer 40. 最小的k个数 一.笨比解法 二.堆排序 三.快速选择 总结 一.笨比解法 选择排序变 ...

  5. 【leetcode】 剑指 Offer学习计划(java版本含注释)(上)

    目录 前言 第一天(栈与队列) 剑指 Offer 09. 用两个栈实现队列(简单) 剑指 Offer 30. 包含min函数的栈(简单) 第二天(链表) 剑指 Offer 06. 从尾到头打印链表(简 ...

  6. 【LeetCode】剑指 Offer 14. 剪绳子

    [LeetCode]剑指 Offer 14. 剪绳子 文章目录 [LeetCode]剑指 Offer 14. 剪绳子 两道题目的区别在于第二题 n 的取值范围更大 package offer;publ ...

  7. 【LeetCode】剑指 Offer 32 - II. 从上到下打印二叉树 II

    [LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II 文章目录 [LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II 一.层序遍历 BFS 一. ...

  8. 【LeetCode】剑指 Offer 57 - II. 和为s的连续正数序列

    [LeetCode]剑指 Offer 57 - II. 和为s的连续正数序列 文章目录 [LeetCode]剑指 Offer 57 - II. 和为s的连续正数序列 一.求和公式 二.滑动窗口(双指针 ...

  9. 【LeetCode】剑指 Offer 62. 圆圈中最后剩下的数字

    [LeetCode]剑指 Offer 62. 圆圈中最后剩下的数字 文章目录 [LeetCode]剑指 Offer 62. 圆圈中最后剩下的数字 一.动态规划 总结 一.动态规划 构建一个长度为 n ...

最新文章

  1. Windows安装Python3
  2. 【⭐】Java—Spring-—数据库操作—使用内置连接池,报读取不到驱动错误。Could not load JDBC driver class。...
  3. 百练2757:最长上升子序列
  4. Hibernate中使用Criteria查询及注解——(Emp.java)
  5. python架构图教程_Python 五分钟绘制漂亮的系统架构图
  6. vue:无法将“vue”识别为脚本_「前端架构」React和Vue -CTO的选择正确框架的指南...
  7. svo: semi-direct visual odometry 论文解析
  8. 斐讯k1支持千兆吗_千兆宽带如何使用?看这里!
  9. 使用MMS(MongoDB Monitoring Service)监控MongoDB
  10. css3的一些知识点
  11. Pytorch:目标检测网络-人体关键点检测
  12. python实现pdf格式转换图片格式
  13. java11规范_京东Java编码规范V11.pdf
  14. c++实现STL标准库
  15. 工作之后必备计算机知识,2021工作必备计算机技巧知识
  16. Q/GDW 376.2集中器本地通信模块接口协议测试方法
  17. 社群公会GangSDK:程序员入行AI领域需要哪些技能?
  18. Spring简介与IOC容器
  19. ubuntu小知识点--常用命令以及操作
  20. 云服务器SQL数据库端口1433访问不了?------三步设置教你快速开放云数据库端口

热门文章

  1. 数码管静态显示到动态显示——六位8段数码管(共阴极)按顺序间隔1s显示数字1~6
  2. 汽车用SENT总线解码方法-Pico示波器解码
  3. 2019年新iPhone传言汇总,你觉得哪些能成真
  4. wifi扫描流程图_一次完整的WIFI扫描过程
  5. xp3系统登录服务器错误,如何解决XP系统“HTTP 500 内部服务器错误”【组图】
  6. IGMP/MLD协议详解
  7. java demo在哪_【Java学习系列】第1课--Java环境搭建和demo运行
  8. iosepub阅读器_超赞EPUB阅读器 - Neat Reader
  9. CorelDRAWX4的VBA插件开发(二十五)多类目选择实现复合框内容置换
  10. 图像处理(九)人物肖像风格转换-Siggraph 2014