数据结构中的堆结构堆(Heap),有时候也是一种优先队列,其实现方式主要还是依托完美二叉树进行调整实现,我们对二叉树结构定义规则如下:二叉树要是完美二叉树任意子节点的权值不能比其父节点大(或小)从而我们可以叫这个数据结构叫堆(heap),并且我们定义堆顶为二叉树的根节点。需要注意的是上面的第 ...
题目思路这题我只能说想了没多久就想出来了,一开始看到这个题目的时候下意识想要用数组分组然后再合并的一个做法,但是想了一想那样时间复杂度好像有点高来着,这题应该有一些更优的做法,然后就在纸上自己捣鼓了一下,发现这个问题其实用循环链表就能很好的去解决了,时间复杂度也能到 O(qi) 的程度。首先就...
跳跃游戏 II - C++力扣45题题目链接:https://leetcode.com/problems/jump-game-ii/description/解题思路这题算是中等难度吧,就是一眼能看出来解决方法的程度,但是优化上还是得多费一点脑子,下面的代码也不是最优解。基本上是一眼能看出来用 ...
水果成篮 - C++力扣904题题目链接:https://leetcode.com/problems/fruit-into-baskets/description/解题思路这题其实也是一个类似于滑动窗口的问题,但是其实还是模拟一边就能过,难度算是中等偏下吧,没什么太大的难点。首先我们先弄一个哈...
重新排列数组 - C++力扣1470题题目链接:https://leetcode.com/problems/shuffle-the-array/解题思路老实说,这题一看到就让人丧失了对其进行优化的心思了,随便写写都能过,完完全全入门级的题目,不多做解释了,直接上代码。完整代码:class So...
找到字符串中所有字母异位词 - C++力扣438题题目链接:https://leetcode.com/problems/find-all-anagrams-in-a-string/description/解题思路嘛,这题其实跟昨天的 567 题是大同小异,这区别小的我直接把那题的代码改一下就过...
字符串的排列 - C++力扣567题题目链接:https://leetcode.com/problems/permutation-in-string/description/解题思路这题就是考验滑动窗口算法,难度算是中等偏下吧,很多人一开始认为要用字符串匹配,但是仔细阅读题目之后你会发现如果你...
N 字形变换 - C++力扣6题题目链接:https://leetcode.com/problems/zigzag-conversion/description/解题思路这题就是纯粹的模拟题,难度算是中等偏下吧,这题其实也没什么好说的,就是把上下的方向搞懂了就行,直接上代码吧。完整代码:cla...
验证外星语词典 - C++力扣953题题目链接:https://leetcode.com/problems/verifying-an-alien-dictionary/description/解题思路字典序比较其实就是入门级问题,就是加了个重定义顺序而已。这题有手就行。首先我们先把字典序记录下...
字符串的最大公因子 - C++力扣1071题题目链接:https://leetcode.com/problems/greatest-common-divisor-of-strings/description/解题思路这题其实挺容易的,看我的代码只有两行就知道了。主要还是思路要有,要把力扣提供提...