会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
冬马党
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
4
5
6
7
8
9
10
11
12
···
22
下一页
2020年11月5日
字符串的左旋转
摘要: 例子:abcdefg 左移2位==》cdefgab 思路: 1,利用string的截取函数,然后拼上即可 void leftReverse(string *str,int n){ int length = str->size(); if(length <= n){ return; } string
阅读全文
posted @ 2020-11-05 07:50 冬马党
阅读(92)
评论(0)
推荐(0)
2020年11月4日
输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以结果打印出3个连续序列1~5、4~6和7~8。
摘要: 思路: 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)
输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可
摘要: 思路: 利用左右指针实现 首先,这个数组是有序的,这是个重要的条件,如果没有这个条件,后面的办法根本不行 那么这个数组最小值是第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的数组, 遍历要查询的数组,如果辅助数组的长度小于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)
2020年11月3日
找出数组中出现次数超过一半的数字
摘要: 思路: 一般我们会想到用排序,然后找出中间那个值,此值就是超过一半的那个数 但是这样的时间复杂度一般为O(nlogn) 其实有一个比较巧妙的办法,时间复杂度为O(n) 1,遍历这个数组,如果之前一个数字和下一个数字重复则+1,否则-1 这样最终留下的数就是那个超过一半的那个数 代码 void mor
阅读全文
posted @ 2020-11-03 23:20 冬马党
阅读(232)
评论(0)
推荐(0)
判断一个数组是否是后序遍历得到的结果
摘要: bool verifySequenceOfBST(int sequence[],int length){ if(sequence == NULL || length == 0){ return false; } int root = sequence[length - 1]; int i =0 ;
阅读全文
posted @ 2020-11-03 21:58 冬马党
阅读(219)
评论(1)
推荐(0)
利用最小栈实现栈存取数据时间复杂度在O(1)
摘要: #include <iostream> #include <string> using namespace std; template<typename T> class StackWithMin { stack data; stack minStack; void push(const T& va
阅读全文
posted @ 2020-11-03 18:26 冬马党
阅读(98)
评论(0)
推荐(0)
镜像树
摘要: 镜像树,如图 思路: 利用递归的思想,如果一颗树有左右节点,则进行交换,有一个节点为空则退出递归 struct BinaryTreeNode { int val; BinaryTreeNode* left; BinaryTreeNode* right; }; void mirrorRecursive
阅读全文
posted @ 2020-11-03 17:51 冬马党
阅读(181)
评论(0)
推荐(0)
上一页
1
···
4
5
6
7
8
9
10
11
12
···
22
下一页