算法
星阙
java程序员一枚,断断续续把博客搬到csdn,希望和大家一起交流
展开
-
网易笔试题分享:奖学金
小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。每门课由平时成绩和考试成绩组成,满分为r。现在他知道每门课的平时成绩为ai ,若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。这道题有几个坑,一是当前的成绩已原创 2017-03-24 13:08:04 · 618 阅读 · 0 评论 -
《去哪儿》JAVA研发笔试题
public class Test { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str=sc.next(); StringBuilder sb=new StringBuilder(); for(int i=0;i<str.length();i++){原创 2016-10-20 16:06:12 · 1030 阅读 · 0 评论 -
PAT记录
PAT平时练习的记录,请多指教原创 2016-10-19 19:51:03 · 281 阅读 · 0 评论 -
java解决topk问题
面试题中经常用到堆,这里总结一下。方法一:对源数据中所有数据进行排序,取出前K个数据,就是TopK。但是当数据量很大时,只需要k个最大的数,整体排序很耗时,效率不高。方法二:维护一个K长度的数组a[],先读取源数据中的前K个放入数组,对该数组进行升序排序,再依次读取源数据第K个以后的数据,和数组中最小的元素(a[0])比较,如果小于a[0]直接pass,大于的话原创 2017-03-15 10:56:06 · 1751 阅读 · 0 评论 -
寻找和为定值的多个数
这道题也是面试题,网上的代码有bug,自己重写了一遍public void SumOfkNumber(int sum,int n){ if(sum<=0||n<=0) return ; if(sum==n){ Collections.reverse(list); //输出时,该元素还未加入数组 System.out.print(n+" "); for (原创 2017-03-15 15:05:47 · 403 阅读 · 0 评论 -
笔试题:字符串全排列
来自july大神的编程之法public static void swap(String[] c,int i,int j){ String s=c[i]; c[i]=c[j]; c[j]=s; } public static void CalcAllPermutation(String[] c,int start,int end) { if(end<=1) retur原创 2017-03-14 20:44:54 · 380 阅读 · 0 评论 -
奇偶调序
public static boolean isOdd(int n){ return (n&1)==1; } public static void sort(int[] nums){ if(nums.length==0||nums.length==1) return ; int i=0; int j=nums.length-1; while(i!=j){ if(原创 2017-03-16 10:27:15 · 291 阅读 · 0 评论 -
荷兰国旗
拿破仑席卷欧洲大陆之后,代表自由,平等,博爱的竖色三色旗也风靡一时。荷兰国旗就是一面三色旗(只不过是横向的),自上而下为红白蓝三色。该问题本身是关于三色球排序和分类的,由荷兰科学家Dijkstra提出。由于问题中的三色小球有序排列后正好分为三类,Dijkstra就想象成他母国的国旗,于是问题也就被命名为荷兰旗问题(Dutch National Flag Problem)。下面是问题的正原创 2017-03-16 13:45:07 · 567 阅读 · 0 评论