自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 剑指offer-32从1到n整数出现1的次数

题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,,1一共出现了5次。 将输入的整数分为2部分,以后(n-1)位为分割点分为2部分,如21345分为1到1345和1346到21345,对第一部分递归调用算法,对后面的部分进行数学分析可以得出其中1的个数。首先最高位1出现的次数分为2种情况从1345到2134

2016-06-07 16:54:13 326

原创 剑指offer-31连续子数组最大和

题目:输入一个整形数组,数组里有正数也有负数。数组中一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 可以用动态规划来解决这个问题,用函数f(i)表示以第i个整数结尾的子数组的最大和,当以第i-1个整数结尾的子数组的最大和小于0时,此时以第i个整数结尾的子数组的最大和即为它自身,当以第i-1个整数结尾的子数组的最大和大于0时,以第i个整数结尾的子数组的最大和

2016-06-06 22:51:49 258

原创 剑指offer-30最小k个数

题目:输入n个数,找出其中的最小的k个数。 根据不同的方法,其中可以直接对输入的数组排序,时间复杂度是O(nlogn),如下所示: class Solution { public: vector GetLeastNumbers_Solution(vector input, int k) { vector small; if(k>input.size(

2016-06-06 20:54:26 190

原创 剑指offer-29数组中出现次数超过一半的数字

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 拿到题目的第一反应是将数组排序,然后判断数组中间的数字长度是否超过数组长度的一半。若数组中出现最多次数的数字为0且长度超过数组的一半时,输出也为0,该怎么判断是存在数字0超过一半长

2016-06-02 21:44:40 247

原创 剑指offer-28字符串的排列

题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印所有字符串abc,acb,bac,bca,cab和cba。 先求取第一位所有字符的可能,即将第一位字符和后面所有的字符交换,然后继续递归求取后面子串的所有排列。 class Solution { public: vector Permutation(string str) { ve

2016-06-02 16:49:17 192

原创 剑指offer-27二叉搜索树与双向链表

题目:输入一个2叉搜索树,将该二叉搜索树转换成一个排序的链表。要求不能创建任何新的节点,只能调整书中节点指针的指向。 由于要求转换后的链表是排序的,而中序遍历可以从小到大遍历二叉树的每个节点,因此可以中序遍历该二叉树。 当遍历到根节点时,它的左子树已经转换成一个排序的链表,把链表的最后结点与根节点相连即把根节点加入排序链表,接着遍历转换右子树,转换左子树和右子树可以用递归的方法完成。 代码如

2016-06-01 21:59:38 233

原创 剑指offer-26复杂链表的复制

输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)。 /* struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : label(x), next(NULL),

2016-05-26 22:32:50 250

原创 delete和delete[]的区别

看到一篇面经,上面写了这样一个问题“delete 跟delete[]到底有什么内在的区别?什么情况下必须使用delete[],否则内存泄漏。”当时第一反应不是当new一个对象时候需要回收时用delete,回收new[]创建的一组对象时用delete[]就行了。但是面经中给出以下2种情况: int a[100];delete a;上述代码是否有问题,会内存泄漏吗?class A{publi

2016-05-26 15:35:33 562

原创 结构体位制

马上就要开始找工作了,需要看一些相关的书籍以及编程练习,同时在博客定期更新一些学习中碰见的问题。第一篇博客试试水 - -。 在程序员面试宝典中第十二章提到结构体位制概念, struct a{ int x:1; int y:2; int z:33; }; 这个结构体a在定义中给了z的位域大小为33,而超过了整型变量的4字节大小,因而造成越界错误。在结构体内部定义位域能够节省空间,充分利

2016-04-05 22:13:17 848

温度控制步进电机

通过温度传感器采集温度。利用不同的温度控制步进电机的转速。

2012-07-29

摇号仿真系统

这是一个仿真摇号系统,是对摇号结果公平性的仿真。

2012-07-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除