Giter Club home page Giter Club logo

leetcode-solutions-in-good-style's Issues

《二分查找法模板》文章更新,解释为什么可以无符号右移。

  • 因为即使整型溢出,结果都能保证正确,作图解释这件事情,写代码验证这件事情。

  • 把以前做过的所有练习都改一下,提交上去看看结果如何(真的有点颠覆啊)。

  • 用幻灯片展示最重要的内容,现在文章的东西很多,读者容易看着厌烦。

  • 提供练习的参考答案。

104. 二叉树的最大深度

  • 后序遍历;
  • 递归改造成循环;
  • BFS(使用 queue),且要看当前 queue 的结点个数;
  • DFS(到叶子结点才结算)。

40. 组合总和 II

这道题要写题解了,我的 Python 答案在评论区,有一个用户已经表示看不懂了。还是得写得细一点。

283 移动零

快排的那个版本,颜色分类,重新写一遍。

611. 有效三角形的个数

二分法。

以下选自和 yao 同学的讨论。

例子:我用 [2, 5, 6, 7, 9] 试了下。

固定 25 用二分法找的第 1 个不能构成三角形的数是 7,它的下标是 3

找到 7 是第 1 个不满足构成三角形的索引,它之前,j 之后的数都可以,所以是 k - j - 1,7(包括 7)以及之后的数都不可以。

WechatIMG2360

参考资料:https://leetcode.com/problems/valid-triangle-number/solution/

222. 完全二叉树的节点个数

搞清楚“满二叉树”和“完全二叉树”的定义。

满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。

完全二叉树:完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。

110. 平衡二叉树

是否是 AVL 树,用定义:$abs(left - right) > 1$ 就不符合。

  • 后序遍历;
  • 特殊标记:$-1$。

155. 最小栈

设置辅助的数据栈,有两种写法。

1、辅助栈和数据栈同步;

2、辅助栈和数据栈不同步。

二者性能差不多。

239. 滑动窗口最大值

题解要点:

  • 官方题解先想到堆,发现问题以后,再使用双向队列。

  • 队列中存放的是索引的原因:左边界将要划出“滑动窗口”的时候,把它拿掉。

  • “队首”永远是“滑动窗口”的最大值。

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.