- 博客(8)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 员工年龄排序,要求排序时间O(n)
排序时间O(n)。员工年龄排序。输入数值n为员工个数,然后再输入员工年龄如 32,34,43,19。。。然后进行排序出19 32 34 。。。使用标记法,因为员工的年龄范围是固定的,在0-99之间,所以创建一个数组[100]数组的索引值即[]中的值表示年龄,而其存储的值表示计数器。例如:只有3个人年龄为:99,45,66;就然a[99]++ ; a[45++] ; a[66]++
2014-09-21 18:31:09
543
转载 一千万条短信中查找重复
有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。请用5分钟时间,找出重复出现最多的前10条。方法1:可以用哈希表的方法对1千万条分成若干组进行边扫描边建散列表。第一次扫描,取首字节,尾字节,中间随便两字节作为hash Code,插入到hash table中。并记录其地址和信息长度和重复次数,1千万条信息,记录者几个信息还放得下。同hash code且等长就是疑似相同,比较一下。相同记
2015-03-15 18:26:42
573
转载 堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2014-09-25 23:28:54
198
原创 求两个排序好的数组的重复项
求两个排序好的数组的重复项因为已经是排好序的所以就只需要把小的那个跟大的比较,有重复的就记录,到了原来大的变为小的,用换一个组继续比较直到一组循环完毕。例如:A = [1,2,3,6]B = [2,4,6]A->1与B->2比较,然后A->2与B->2比较,相等都进一步,A->3与B->4比较,再A->6与B->4比较,然后B->6与A->6比。就是两个数组都在往前走,谁小谁进
2014-09-21 20:15:48
580
原创 输入两个整数值n和m,求出整数1到n之间的和为m的所有组合
输入两个整数值n和m,求出整数1到n之间的和为m的所有组合采用了背包思想,就是整体考虑是什么组合,就考虑其中一个数组在不在这个组合中在,就寻找,剩下的组合中合为m-n的组合不在,就寻找,剩下的组合中合为m的组合,这样子就可以形成一个递归直到寻找的n==m//输入两个整数值n和m,求出1到n之间的和为m的所有组合(背包思想求解)#include#includevoid Find
2014-09-21 18:32:46
3495
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人