![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
geshuai123
这个作者很懒,什么都没留下…
展开
-
[小米]字符串重组
输入:***a b * c*….. 输出:*******abc…..将所有的*都移动到字符串的前半部分,字符移动到后半部分,保证字符的顺序。答案: http://ask.julyedu.com/question/240转载 2015-07-04 11:18:16 · 543 阅读 · 0 评论 -
有20个数组,每个数组里面有500个数字,降序排列,每个数字是32位的int,求出这10000个数字中最大的500个。
方法一: 两个数组做归并排序,保留前500,在和其他数组归并排序。方法二: 建一个临时的数据结构(小顶堆),在它里面保存最大的500个数。 这个数据结构最好是一个小顶堆。 数组中的数字插入小顶堆,如果堆中数量小于500,直接插入堆;如果等于500并且准备插入的数组大于堆顶数字,则删除堆顶并将新数字插入堆。(由于数组是有序的,当数组的最大值小于堆顶元素时,这个数组结束,换下一个数组插入。)原创 2015-07-03 22:14:10 · 1969 阅读 · 0 评论 -
Algorithm: efficient way to remove duplicate integers from an array
http://stackoverflow.com/questions/1532819/algorithm-efficient-way-to-remove-duplicate-integers-from-an-arrayI got this problem from an interview with Microsoft.Given an array of random integers, write转载 2015-07-06 16:17:34 · 405 阅读 · 0 评论 -
在由N个正整数的集合S中,找出最大元素C,满足C=A + B
[百度]在由N个正整数的集合S中,找出最大元素C,满足C=A + B其中A,B都是集合S中元素,请给出算法描述,代码与时间复杂度分析。答案: http://ask.julyedu.com/question/90原创 2015-07-06 21:51:08 · 1163 阅读 · 0 评论 -
<转载>字符串 全排列生成问题
问题 输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba思路 1.这是典型的递归求解问题,递归算法有四个特性: a.必须有可达到的终止条件,否则程序陷入死循环 b.子问题在规模上比原问题小 c.子问题可通过再次递归调用求解 d.子问题的解应能组合成整个问题的解 2.对于字转载 2015-07-07 09:38:29 · 518 阅读 · 0 评论 -
字符串的旋转
解法一:暴力移位 初看此题,可能最先想到的方法是将需要移动的字符一个一个地移动到字符串的尾部。 如果定义指向该字符串的一个指针s,然后设该字符串的长度为n,那么,可以先编写一个函数LeftShiftOne(char* s, int n),以完成将一个字符移动到字符串尾部的功能,然后再调用m次LeftShiftOne函数,使得字符串开头的m个字符移动到字符串的尾部。这样,就完成了将若干个字符移动到转载 2015-07-07 16:54:21 · 539 阅读 · 0 评论