整数反转 https://leetcode-cn.com/problems/reverse-integer/ 123456789101112131415161718192021222324252627/** * @param {number} x * @return {number} */var reverse = function (x) {
最长重复子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 123输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 我的暴力解法算法思路: 创建一个 hash 表(查询专用) 初始化 max,count(计算无重复子串达到的值) 当元素没在 hash 表中,加入 ha
栈栈:一种专注于顶部元素进入进出的操作。 栈的应用 浏览器历史记录 代码的执行 正所谓空间换时间,有时候借助栈,我们能够缩短操作 简单的例子关于栈的思考栈就是一个后进先出的一个数据结构,一般解决问题,就要借助它的这种特性。 单调栈为此栈的结构是递增或者递减的一种栈结构特性,求解”下一个大的数的”或者下一个小的问题” 一般的模版如下: 1234567891011121314let stack =
关于矩阵类型题目需要重刷 螺旋矩阵的遍历https://leetcode-cn.com/problems/spiral-matrix/solution/cxiang-xi-ti-jie-by-youlookdeliciousc-3/
算法与数据结构首先我要明白一定问题 为何学习工作中,可能很少会用到,但找工作笔试的时候,这是跨不了的坎。其次,它是一个智力开拓功能,要求人的思维要清晰,活跃,多方面。光这一点就很值得学习了。 如何学算法难,枯燥,且耗时长,没有坚定的信念,是坚持不下去。我打算先补一下基础的数据结构知识,然后慢慢循序渐进。规划如下: 数据结构(c 语言描述)->leetcode ->算法导论-> 人
前言算法复杂度一直是痛中之痛,一直搞不明白,今次就好好探究一下算法复杂度究竟是怎么回事,以及如何衡量。 什么是算法呢?通俗来讲,是为了解决某个问题的步骤或者一个过程四大特性: 输入,输出,确定性,有穷性
至关重要问题!!!这些数据结构在具体实际中的运用,刷题只是锻炼思维,这些数据结构在实际中的使用呢? 自己做题的时候,思路是不是很清晰呢? 刷了这么点,是不是该好好的消化一下了。 自己的方法 建模能力?
跳表有序链表的基础上改动,使得 查找,删除,插入的时间复杂度位 o(logn)。 重要思想:通过给链表建立索引,提高查找效率。空间换时间, 当建立多级索引的时候,链表能够实现二分查找。 当元素数量较多时,索引提高的效率比较大,近似于二分查找。 跳表是可以实现二分查找的有序链表。 难点 插入数据时,索引的重建 链接-https://www.jianshu.com/p/9d82965628