上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 33 下一页
摘要: 题目:统计一个数字在排序数组中出现的次数。思路:1、顺序遍历顺序扫描一遍数组,统计该数字出现的次数。时间复杂度:O(n)2、二分查找假设我们需要找的数字是k,那么就需要找到数组中的第一个k和最后一个k出现的位置。如何通过二分查找得到第一个k的位置呢?取数组中间的数字与k作比较,如果该数字比k大,那么... 阅读全文
posted @ 2015-07-26 18:16 AndyJee 阅读(2235) 评论(0) 推荐(0) 编辑
摘要: 题目:输入两个链表,找出它们的第一个公共结点。链表结点的定义如下:struct ListNode{ int val; ListNode* next; ListNode(int x):val(x),next(NULL){};};思路:1、暴力法遍历第一个链表,每遍历到一个结点,在第二... 阅读全文
posted @ 2015-07-26 15:37 AndyJee 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路:1、顺序扫描顺序扫描整个数组,每扫描到一个数字,就将该数字跟后面的数字比较,如果大于的话,则这两个数字构成了逆序对。(比较简单,这里就不贴出代码)时间复杂度:O(n... 阅读全文
posted @ 2015-07-26 11:41 AndyJee 阅读(919) 评论(0) 推荐(0) 编辑
摘要: 题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。思路:通过hash表记录第二个字符串中出现的字符,hash表可以由长度为256的bool数组表示。然后遍历... 阅读全文
posted @ 2015-07-25 21:13 AndyJee 阅读(3761) 评论(0) 推荐(0) 编辑
摘要: 题目:在字符串中找出第一个只出现1次的字符,如输入“abaccdeff”,则输出b。思路:1、暴力遍历从头开始扫描字符串中的每个字符,当访问某个字符时,取该字符与后面的每个字符相比较,如果没有重复的字符,那么该字符就是第一个只出现一次的字符。时间复杂度:O(n^2)2、Hash通过hash表来记录字... 阅读全文
posted @ 2015-07-25 20:36 AndyJee 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 题目:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路:1、逐个判断逐个判断每个整数是不是丑数。根据丑数的定义,丑数只能被2,3,5整除,也就是说,如果一个数能被2整... 阅读全文
posted @ 2015-07-25 18:11 AndyJee 阅读(689) 评论(0) 推荐(0) 编辑
摘要: (转自http://www.cnblogs.com/yxnchinahlj/archive/2011/02/12/1952550.html)之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的... 阅读全文
posted @ 2015-07-25 16:54 AndyJee 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 主要内容:1、qsort的用法2、sort的用法3、qsort和sort的区别qsort的用法:原型:void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));功能:使用快速排序例程进行排... 阅读全文
posted @ 2015-07-25 16:35 AndyJee 阅读(18562) 评论(0) 推荐(1) 编辑
摘要: 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路:1、全排列求出数组中所有数字的全排列,然后把每个全排列拼起来,求出拼出来的数字的最大值。2、定义新的排序规则如果... 阅读全文
posted @ 2015-07-25 15:36 AndyJee 阅读(2456) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,一共出现了5次。思路:1、累加法累加1到n中每个整数1出现的次数。求每个整数1出现的个数:通过对10求余数,判断整数的个位是否为1,如果商不为0,则继续除以10... 阅读全文
posted @ 2015-07-25 11:21 AndyJee 阅读(1453) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 33 下一页