haha的未来

导航

2011年9月24日

关于笔试中的Top k问题

摘要: Top -k问题就是给一组数,要求找出其中最大的k个数,或者最小的k个数。比方说这个题目:给定一组整数:23 1 2 45 44 14 25 33 这8个数,要求最小的3个数。即:1 2 14下面说下几种思路和最常用的一种解法:一:把这组数进行整体升序排序,排好序之后,就直接输出前三个数 这种思路,算法的优化就在排序问题上了。如果要最优的,自然不会用冒泡排序了(O(n*n)),可以是shell排序(O(n^3/2)),快速排序、堆排序、归并排序(O(nlogn)) 所以整体上会花费的时间为:排序+O(k)二:使用堆结构 这里如果要求最小的k个数,就建立规模为k的大根堆; 如果求最大的k个数,自 阅读全文

posted @ 2011-09-24 16:56 挑战自我,积极向上 阅读(832) 评论(1) 推荐(0)

2011年8月15日

java高级应用----多线程的弹球游戏

摘要: 这个游戏蛮好玩的,书中和网上都有代码,这里只贴出一些代码:import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.awt.geom.Ellipse2D;import java.awt.geom.Rectangle2D;import java.lang.Math;import java.lang.Thread;import java.util.ArrayList;public class TestPaint extends JFrame{private TestPanel panel=null;priv 阅读全文

posted @ 2011-08-15 14:51 挑战自我,积极向上 阅读(755) 评论(0) 推荐(0)