上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页
摘要: 平衡二叉树:左右子树的高度之差为1 阅读全文
posted @ 2019-12-18 14:19 寅鸷 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-12-17 10:13 寅鸷 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 因为数组是有序的,所以只要用二分法先找到数字出现的位置,然后在左右统计个数 注意:这里二分法不能使用递归,因为可能会由于数组过大导致递归深度太深,应该使用迭代进行二分 阅读全文
posted @ 2019-12-17 09:52 寅鸷 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 通过图示可以看出,当p1和p2一直往后走,当p1为空的时候,p1就跑到链表p2的头节点的地方 当p2为空的时候,p2就跑到p1的头节点的地方,这样p1和p2所走的路程就是一样多了,必定在公共 节点处相遇 哈哈哈,抄一段大佬的代码! 阅读全文
posted @ 2019-12-16 15:41 寅鸷 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 思路很简单,定义两个数组,lower代表小写字母是否被访问过,upper代表大写字母是否被访问过 如果当前字母已经在之前被查询过了就不需要再次查询了 一次遍历当前数组中的每一个字母,然后在内层循环中查找后面是否存在相同的,如果没有相同的就直接返回了 当然还有大佬只使用一个数组来存放大小写,先便利一次 阅读全文
posted @ 2019-12-16 15:11 寅鸷 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 盗用一个大佬的解题思路 min({arr[p2]*2, arr[p3]*3, arr[p5]*5}) 是c++11支持的写法,内部运用initializaer_list<int>的方法实现。 阅读全文
posted @ 2019-12-16 14:43 寅鸷 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 一次遍历数组,将当前a【i】与其后面的每一个a【j】进行组合,即判断a【i】a【j】 与 a【j】a【i】哪一个更小 如果是a【j】a【i】更小的话,则交换a【j】与 a【i】的值。如此一来则能够找到每一个数的最合适的位置。 有点类似于冒泡排序的思想,将每一个能够组合起来得到最小值的a【j】放到当前 阅读全文
posted @ 2019-12-16 10:53 寅鸷 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 第一次使用的方法是依次遍历每一个字串,然后记录最大值就可以了,但是这样的话,算法的时间复杂度为O(n2) 很显然这样做不是最优解 改进之后的算法时间复杂度为O(n),用一个sum来记录字串的和,如果当前字串和负数的话,那么就要将sum直接赋值为array[i] , 因为如果sum为负数的话,当前 a 阅读全文
posted @ 2019-12-14 20:30 寅鸷 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-12-14 14:21 寅鸷 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 这题要注意分类对应电影数量>=5部的意思是:当前分类中电影的总数量>=5 阅读全文
posted @ 2019-12-14 14:01 寅鸷 阅读(264) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页