分类
正在加载今日诗词...
leetcode 49. 字母异位词分组 leetcode 49. 字母异位词分组
题目 49. 字母异位词分组 解题思路手写哈希: 哈希算法要求将abc和bac我们认为他们是一类的字符串,计算得到的哈希值(特征值)应该一样,abc和bcd不是同一类,计算得到的哈希值应该不一样,这就是我们手写哈希算法的要求。 简单例子将
2020-12-14
剑指 Offer 51. 数组中的逆序对 剑指 Offer 51. 数组中的逆序对
很经典的一道题就对了,很早之前做过,忘了。。。
2020-12-12
leetcode 868. 二进制间距 leetcode 868. 二进制间距
题目运行效率 题解lowbit(x) 是x二进制表达式中最低位1所代表的数值。即x & -x就是lowbit函数。例如当x=22时二进制表示10110则 22&-22既可以得到二进制数值10。为啥呢?因为我们计算机中负数采用
2020-11-12
leetcode 99. 恢复二叉搜索树 leetcode 99. 恢复二叉搜索树
leetcode 99. 恢复二叉搜索树原题传送门 思路 既然是二叉搜索树,那肯定中序遍历了。当然还有Morris遍历算法(我还没学~)中序遍历的话,对于二叉搜素树来说就是从小到大进行排序。那么在遍历的过程中我们可以记录出现逆序的情况。
2020-10-30
leetcode 143. 重排链表 leetcode 143. 重排链表
重排链表题目 找出规律。重排的链表分为两部分我们将链表的前一部分和后一部分链表。 头部节点向后走正序插入 尾部节点往后退倒序插入两个是交换着互相取出构成新的链。分成两部分我们可以使用快慢双指针迅速的达到链表的中间。这样就可以将链表分为两部
2020-10-20
数组的度 数组的度
leetcode 697.数组的度题目: 传送门 一看题很水就想直接暴力。哎~ 我错了。 开始想着排序。找到最大的度对应的值,然后双指针从两边开始搜。找到相应的值左右两边相减就能得到答案了。 太天真了。其实最大度对应的值可能不止一对。当发现
2020-09-28
leetcode 538.把二叉搜索树转换为累加树 leetcode 538.把二叉搜索树转换为累加树
leetcode 538.把二叉搜索树转换为累加树原题传送门 题目描述 题解这是一个BST, 我们中序遍历的话,就是从小到大排序。中序遍历情况是,左子树,父节点,右子树。这样的遍历顺序。如果我们从 大到小排序呢,我们就可以,按照 右子树,
2020-09-22
leetcode 299.猜数字游戏 leetcode 299.猜数字游戏
最近做了好多字母桶的,记录一下这个题。不是很想用哈希。
2020-09-15
leetcode 141.回文链表 leetcode 141.回文链表
leetcode 234.回文链表原题传送门 题目描述 讲解在这个题中,我们首先考虑到,直接开一个数组。将链表中元素全部存进去。然后再数组中用双指针两头遍历比较就行了,可是这个空间复杂度不是O(1)哎。据说面试时,如果用数组模拟,然后遍历比
2020-09-14
leetcode 141.环形链表 leetcode 141.环形链表
leetcode 141.环形链表第一次使用快慢双指针例如:龟兔赛跑,如果有环的话,肯定,兔子会追上 乌龟。快指针, 一次 越 两步慢指针, 一次 走 一布 代码class Solution { public: bool hasCy
2020-09-12