Giter Club home page Giter Club logo

hello-offer's Introduction

Hello Offer

「剑指 Offer」是何海涛写的一本算法面试书,书中精选了 50 多道常见的程序员面试题,这些题目偏向中低难度,如果你需要在较短时间里练习算法准备面试,那「剑指 Offer」是个不错的选择,目前你可以在 LeetCode 官方网站上进行练习。

LeetCode 官方网站:https://leetcode-cn.com/problemset/lcof/

本仓库提供的解法不一定是最优解,也不一定可以考虑全部的边界情况,但可以保证能让你弄懂,每题都提供的视频描述与图片,希望这些可以帮助你在面试时,即使紧张也可以较快的回忆起该题的解法。

我目前的规划是平均一到两天提供一个视频的讲解,你可以在我的网站 AlgoMooc 观看所有视频。

Hello Offer,Let's Go !

刷题有一个很重要的技巧就是按照标签来刷,在某个时间段内只刷相对应的题目,这种做法可以极大的提高刷题的速度,而且能带来更好的效果。

1、持续地刷同个类型的题目,可以不断地巩固和加深理解。

2、可以更全面地接触这个数据结构,算法的各个变种,这会促使你对这个数据结构,算法的理解更加全面和深刻,学习的效率会更高。

根据数据结构和算法**的分类,《剑指 Offer》可以分为以下几种标签:

  • 链表

  • 栈 & 队列

    • 07 --- 重建二叉树
    • 26 --- 树的子结构
    • 27 --- 二叉树的镜像
    • 28 --- 对称的二叉树
    • 32I --- 从上往下打印二叉树
    • 32I --- 从上往下打印二叉树II
    • 32II --- 从上往下打印二叉树III
    • 34 --- 二叉树中和为某一值的路径
    • 37 --- 序列化二叉树
    • 54 --- 二叉搜索树的第 K 大节点
    • 55I --- 二叉树的深度
    • 55II ---平衡二叉树
    • 68I --- 二叉搜索树的最近公共祖先
    • 68II --- 二叉树的最近公共祖先
    • 40 --- 最小的 K 个数
    • 41 --- 数据流中的中位数
  • 哈希表

    • 03 --- 数组中重复的数字
    • 48 --- 最长不含重复字符的子字符串
    • 50 --- 第一个只出现一次的字符
  • 动态规划

    • 14I --- 剪绳子
    • 14II --- 剪绳子II
    • 19 --- 正则表达式匹配
    • 42 --- 连续子数组的最大和
    • 47 --- 礼物的最大值
    • 63 --- 股票的最大利率
  • 二分查找

    • 01 --- 旋转数组的最小数字
    • 53I --- 在排序数组中查找数字 I
    • 53II --- 0 ~ n-1 中缺失的数字
  • 回溯算法

    • 38 --- 字符串的排列
  • 分治算法

    • 25 --- 合并两个排序的链表
    • 36 --- 二叉搜索树与双向链表
  • 排序

    • 45 --- 把数组排成最小的树
  • 位运算

    • 15 --- 二进制中 1 的个数
    • 39 --- 数组中出现次数超过一半的数字
  • 其他题目

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.