- 博客(9)
- 收藏
- 关注
原创 剑指offer:第一个只出现一次的字符位置
题目描述 在一个字符串(1(位置索引从0开始),若为空串,返回-1 public class Solution { public int FirstNotRepeatingChar(String str) { int flag = -1; if(str.length() == 0) return flag;
2015-12-20 16:02:36 513
原创 剑指offer:丑数
题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 //超时代码 class Solution { public: bool uglyNum(int num) { while(num)
2015-12-15 00:30:54 414
原创 两数交换
第一种方法: int tmp;//中间变量 tmp = a; a = b; b = tmp; 第二种方法: //原理:一个数被另一数异或偶数次还是它本身 a ^= b; b ^= a; a ^= b; 第三种方法: a = a + b; b = a - b; a = a - b; 第四种方法: b = a + b - (a = b);
2015-12-12 12:23:52 365
原创 剑指offer:把数组排成最小的数
题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 class Solution { public: string s, mn = "x"; string PrintMinNumber(vector numbers) { if (numbe
2015-12-08 19:17:51 386
原创 剑指offer:连续子数组的最大和
题目描述:例如{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。 class Solution { public: int FindGreatestSumOfSubArray(vector array) { if (array.size() == 0) return 0; vector v; int i; fo
2015-12-03 20:48:51 382
原创 剑指offer:最小的K个数
题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 PS:一开始想到map是按key值升序排列,就新建了一个map,value存放数字出现的次数,没想到内存超出范围。 class Solution { public: vector GetLeastNumbers_Solution(vector
2015-12-03 13:51:23 393
原创 剑指offer:数组中出现次数超过一半的数字
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 class Solution { public: int MoreThanHalfNum_Solution(vector numbers) {
2015-12-02 23:23:37 452
原创 剑指offer:字符串的排列
题目描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba(结果请按字母顺序输出)。 输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 class Solution { public: string tmp; vector res;
2015-12-02 21:50:00 430
原创 剑指offer:二叉搜索树与双向链表
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NUL
2015-12-01 17:06:09 394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人