摘要:
思路: 1,利用左右指针的思想 2,因为至少要有两个数,所以最大值为:(1+sum) / 2; 3,指定起始序列为1,2 举个例子,sum=9的情况 实现 void findContinuousSequence(int sum){ if(sum < 3){ return; } int small = 阅读全文
posted @ 2020-11-04 22:53
冬马党
阅读(205)
评论(0)
推荐(0)
摘要:
思路: 利用左右指针实现 首先,这个数组是有序的,这是个重要的条件,如果没有这个条件,后面的办法根本不行 那么这个数组最小值是第1,2个元素的和,最大值是末尾两个元素的和 利用左右指针指向的值求和判断指针到底是左移还是右移 void getTargetElemts(int* arr,int len, 阅读全文
posted @ 2020-11-04 22:20
冬马党
阅读(385)
评论(0)
推荐(0)
摘要:
二叉树的结点定义如下: struct BinaryTreeNode { int val; BinaryTreeNode* left; BinaryTreeNode* right; }; 思路: 1,递归求出左子树和右子树高度 2,然后+1 就是树的高度 实现 int treeDepth(Binary 阅读全文
posted @ 2020-11-04 15:14
冬马党
阅读(233)
评论(0)
推荐(0)
摘要:
链表结点定义如下 struct ListNode { int val; ListNode* next; }; 思路: 1,两个单向链表有交点,必然从交点位置到结尾,节点的值都是一样的 2,一般链表问题都考虑下能否使用快慢指针来解决问题 3,求出两个链表长度的差值diff,快指针先走diff步 4,然 阅读全文
posted @ 2020-11-04 14:01
冬马党
阅读(190)
评论(0)
推荐(0)
摘要:
思路; 利用一个长度为k的数组, 遍历要查询的数组,如果辅助数组的长度小于k ,则直接添加到辅助数组 否则则跳过 c++实现如下 void findkmax(int* arr,int len,int k){ if(arr == NULL || len < k || len <= 0 ){ retur 阅读全文
posted @ 2020-11-04 08:49
冬马党
阅读(183)
评论(0)
推荐(0)

浙公网安备 33010602011771号