- 博客(16)
- 收藏
- 关注
原创 求1到100中缺一个数, 求1到100缺两个数
help_arry = new int[2] {-1, -1}; for (int i = 0; i 99) { help_arry[t-99] = t; t = -1; } else { y = arr[t]; arr[t] = t; t = y; } } } }
2008-06-17 00:02:00
991
原创 试求棋盘上某两点之间的最短路径. 某些位置是无法通过的.
从某一点开始, 采用广度搜索算法,得到从当前队列中能够访问的相邻点, 直到得到对应的点, 或直到所有的点访问完毕退出.
2008-06-15 22:54:00
910
原创 垃圾回收
写过C/C++程序的人都知道, 要记住清除对象是非常痛苦的事情, 而且忘记清除对象会导致内存泄漏.现在很多高级语言都包含了垃圾回收机制,使程序员能更加关注业务的实现. 垃圾回收的目的是将无用对象占用的内存空间回收.下面我们介绍垃圾回收的算法: 引用技术-给每个对象实例加一个计数,当计数为零时, 就回收该对象占用的空间.该方法的优点是速度快, 缺点是无法处理程序内部的循环引用,现
2008-06-14 23:42:00
358
原创 有一个队列 ABCDEFG, 现有一个堆栈, 有三种操作, 出队, 入栈,出栈. 输出可以是出队操作也可以是出栈操作.试问如何判断某一序列不是无法输出的?
j = 0; for (int i = 0; i if (arr[i] != result[j]) {push;} else {pop;} } if (!stack.empty()) { return false; } esle { return true; }
2008-06-12 21:38:00
1067
原创 设计集合的unique运算的算法
unique({1,2,3}, {2,3,4}, {3, 1, 2}) = {1, 2, 3}, {2, 3, 4} 对所有元素进行矢量转换如下 1 {1, 0,1} 2 {1, 1, 1} 3 {1, 1, 1} 4 {0, 1, 0} 然后对有相同值检查去掉for (int i = 0; i if (isMarked(col[i])) continue; for (in
2008-06-11 23:00:00
344
原创 对某一个英文句子中所有单词倒置
for (int i = 0; i t = arr[i]; arr[i] = arr[arr.length - (i + 1)]; arr[arr.length - (i + 1)] = t; } int i = 0, j = 0; while (j if (arr[j] in puncations( , ,, ., !
2008-06-06 21:30:00
639
原创 在一个环形的无重复元素的排序单向链表中插入一个元素
while(p->next != null) { if (key value && key > p->next->value) { q->next = p->next->next; p->next = q; break; } if (p->value next-> value) {
2008-06-05 22:06:00
432
原创 如何判断两个有环单向链表是否有重合结点
p1 = p2 = head1; do { p1 = p1-> next; p2 = p2-> next -> next;} while (p1 != p2); p2 = p3 = head2;do { p2 = p2 -> next; p3 = p3 -> next -> next; } while (p2 != p3
2008-06-04 21:55:00
554
原创 如何判断两个无环单向链表是否有重合结点
p1 = head1;p2 = head2;while(p1->next != null) { p1 = p1->next; } while(p2->next != null) { p2 = p2->next; } if (p1 == p2) { return true; } else { return false; }
2008-06-03 23:16:00
410
原创 一个数组中有n种符号,对该数组进行排序
typescount = new int[n]; types = new int[n]; for (int i = 0; i for (int j = 0; j if (types[j] == null) { types[j] = arr[i]; typescount[j] =1;
2008-06-02 00:08:00
414
原创 检测一个字符串中扩号是否匹配
int flag = 0;for (int i = 0; i{ if (str.charAt(i) == () flag++; if (str.charAt(i) == )) flag--; if (flag return false;}if (flag != 0) return
2008-05-31 21:49:00
271
原创 从包含N个元素的数组里,随机选取M个元素.
public static Object[] randomSelect(Object[] objects, int select) { select = Math.abs(select); if (objects == null || objects.length == 0) { throw new IllegalArgumentException("Inpu
2008-05-30 23:54:00
1018
1
原创 如何在单向链表中找到倒数第N个元素
pointer1 = pointer2 = list->head;n = Math.abs(n);int distance = 0;while (true){ if (distance == n) { break; } pointer2 = pointer2->next;
2008-05-30 23:51:00
850
原创 判断单向链表中是否有环
p1 = p2 = head;while(p1->next != null && p2->next != null) { if (p1 == p2) { return true; } p1 = p1->next; p2 = p2->next->next; }return false;
2008-05-30 23:44:00
481
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人