随笔分类 -  剑指offer

摘要:题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。 题目解 阅读全文
posted @ 2018-05-21 15:53 Curo 阅读(270) 评论(0) 推荐(0)
摘要:题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 题目解析 如果有符合条件的数字,则它出现的次数比其他所有数字出现的次数和还要多 阅读全文
posted @ 2018-05-21 14:39 Curo 阅读(154) 评论(0) 推荐(0)
摘要:题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是 阅读全文
posted @ 2018-05-21 13:57 Curo 阅读(545) 评论(0) 推荐(0)
摘要:题目描述 输入一个链表,反转链表后,输出链表的所有元素。 解题思路 一.就地反转-这里后期你要思考一下另一种写法(wei) class Solution { public: ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL) return 阅读全文
posted @ 2018-05-16 14:49 Curo 阅读(160) 评论(0) 推荐(0)
摘要:题目描述 输入一个链表,输出该链表中倒数第k个结点。 解题思路 pOne指针先跑,并且记录节点数,当pOne指针跑了k-1个节点后,pTwo指针开始跑, 当pOne指针跑到最后时,pTwo所指指针就是倒数第k个节点 输入一个链表,输出该链表中倒数第k个结点。 解题思路 pOne指针先跑,并且记录节点 阅读全文
posted @ 2018-05-16 13:57 Curo 阅读(133) 评论(0) 推荐(0)
摘要:题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位 阅读全文
posted @ 2018-05-16 11:59 Curo 阅读(216) 评论(0) 推荐(0)
摘要:题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 解题思路 对于这道题,要考虑四种情况: 1、底数为0,指数为负数的情况,无意义 2、指数为0,返回1 3、指数为负数,返回1.0/base,-exponent 4、指数正数,ba 阅读全文
posted @ 2018-05-16 11:13 Curo 阅读(182) 评论(0) 推荐(0)
摘要:方法一: 如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。 举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位 阅读全文
posted @ 2018-05-15 18:54 Curo 阅读(210) 评论(0) 推荐(0)
摘要:1.跳台阶问题:(其实就是很纯粹的斐波那契数列问题) 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 比较倾向于找规律的解法,f(1) = 1, f(2) = 2, f(3) = 3, f(4) = 5, 可以总结出f(n) = f(n-1) + f(n- 阅读全文
posted @ 2018-05-15 14:41 Curo 阅读(421) 评论(0) 推荐(0)
摘要:class Solution { public: bool Find(int target, vector > array) { int row_size=array.size(); int col_size=array[0].size(); int i=0; int j=col_size-1; while(... 阅读全文
posted @ 2018-05-14 14:02 Curo 阅读(151) 评论(0) 推荐(0)
摘要:class Solution { public: void replaceSpace(char *str, int length) { if (str == NULL || length length) return; int p_old = oldlength;//注意不用减一,\0也要算在里面 int p_new = newlength; while (p_old>=0&&p_ol... 阅读全文
posted @ 2018-05-14 13:05 Curo 阅读(217) 评论(0) 推荐(0)
摘要:/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NUL 阅读全文
posted @ 2018-04-11 15:10 Curo 阅读(260) 评论(0) 推荐(0)
摘要:特别的,记录一下两种int转字符串的方法: 1.to_string string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned v 阅读全文
posted @ 2018-04-10 22:27 Curo 阅读(333) 评论(0) 推荐(0)