上一页 1 2 3 4 5 6 ··· 12 下一页
摘要: 先写下自己的做法吧,虽然违规了。首先是对数组排序,让所有元素按升序排列。之后使用二分法查找,判断的依据是当前节点的索引值+1与当前节点值的大小关系。可以考虑如果不存在重复数,完成排序后的数组,某一节点的值与当前索引值+1应当是保持一致。当数组中出现重复数,该重复数会将大于自己的数的索引向后挤压。通过 阅读全文
posted @ 2021-11-07 21:24 zhaohhhh 阅读(33) 评论(0) 推荐(0)
摘要: 最基本的思路是将数组首先进行排序,然后按照大小分为长度相同或者相差1个的两部分,之后将这两个数组的值插空放置在原数组中。这样的解法有个问题,就是如果两个数组中有相同的数,并且该数的数量到达了所有元素的一般,正序去进行填充就会发生相同元素相邻的问题。而这个问题来源于小的元素在数组开头,如果是大的元素在 阅读全文
posted @ 2021-11-07 17:27 zhaohhhh 阅读(32) 评论(0) 推荐(0)
摘要: 其实就是比较两个数的字符表示拼在一起哪个大,然后用这种判别原则去维护一个大顶堆。本来写了好几十行的判断代码,后来发现可以直接判断a+b和b+a的大小关系,感觉自己像个小丑。贴代码 1 class Solution { 2 public: 3 string largestNumber(vector<i 阅读全文
posted @ 2021-11-07 15:47 zhaohhhh 阅读(31) 评论(0) 推荐(0)
摘要: 初次见到确实是比较困难的问题。解决问题的关键在于抽象出答案中水平线段的端点一定是某一建筑的左端点或者右端点,而如果是右端点作为端点,则该建筑的高度对于这个水平线段并不产生影响(最后一个建筑后的高度为0的天际线就是一个例子)。所以可以考虑遍历所有的端点,对某一个端点而言,考虑所有包含该端点的建筑,其中 阅读全文
posted @ 2021-11-06 12:02 zhaohhhh 阅读(56) 评论(0) 推荐(0)
摘要: 做完了发现好像是个并不困难的递归。其实就是两种情况,最近公共祖先是两个中的一个或者不是两个中的一个。设置三个bool变量,两个指示子树有没有东西,一个指示自身是不是,再按照规律判断就行了。逻辑很清晰,不知道为什么自己做了那么久,贴代码 1 /** 2 * Definition for a binar 阅读全文
posted @ 2021-11-05 17:11 zhaohhhh 阅读(30) 评论(0) 推荐(0)
摘要: 很明确的问题,如果一个个遍历,那复杂度是n^4,是无法接受的。那么改进的方式就是对其中一部分使用哈希表,那么该对其中多少用呢,最好的分割方式是对半开,因为如果不是对半开,时间复杂度将由维数较大的那个部分决定,是必定大于对半开的时间复杂度的。该题中就是22对半开,贴代码 1 class Solutio 阅读全文
posted @ 2021-11-05 14:16 zhaohhhh 阅读(45) 评论(0) 推荐(0)
摘要: 有点难的题目,因为没有想到归并排序的思想。简单来说就是不断的对半分割,然后递归的完成两个分块的排序之后,再将这两个排好序的分块按序合并,就完成了排序。先贴一种自顶向下的方法。这种方法的细节之处在于不断的分割过程中,对只剩两个元素的情况进行处理,删去第二个元素,也就是将头结点的next指针设为null 阅读全文
posted @ 2021-11-02 14:59 zhaohhhh 阅读(37) 评论(0) 推荐(0)
摘要: 刚刚看题目会有点不适的题,因为要根据随机链表的结构来实现重构一个新的链表。后来就想明白了,可以通过map来实现新表与旧表的一一对应的关系。搭建基础的结构的同时,同时建立新旧链表对应节点的一一对应的关系,从旧的节点可以找到新的节点。从而再一次遍历链表,用双指针同时指向两个链表对应位置,对于遍历到的每个 阅读全文
posted @ 2021-11-01 19:08 zhaohhhh 阅读(54) 评论(0) 推荐(0)
摘要: 第一种方法是按序遍历,然后放在一个数组里面,然后再一个个输出,虽然有点投机取巧,但是是很不错的方法。自己写的代码结构能够按照这样的方法完成任务,具体就不贴了。主要是第二种方法,利用栈的方式。建立一个栈,其中存放的是指向不同列表中某一元素的指针。在遍历的过程中,如果遇到列表,就将列表的头结点压栈,并且 阅读全文
posted @ 2021-10-31 19:39 zhaohhhh 阅读(27) 评论(0) 推荐(0)
摘要: 正常计算器的计算形式。首先需要注意的是将连续的数字转换成数。第二点是栈中只维护数,而若出现减法,则即为-n,若出现乘除,则只对栈顶元素进行操作。最后把栈中所有元素相加即可,贴代码 1 class Solution { 2 public: 3 int calculate(string s) { 4 v 阅读全文
posted @ 2021-10-03 19:58 zhaohhhh 阅读(43) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 12 下一页