摘要: 去除数组中重复数字。网上这样的题目解答很多,但是我感觉面试官要的最好最正确的答案是不开辟新内存及最优化的算法。思想如下:把指针分别指向数组头和尾,如果想等j--,i和{i+1,j}之间的数据做比较,如果想等和j位置上的数据做交换,如果j位置上的数字和i想等j--,直到和不想等j位置上的数据做交换,i++继续循环,当 i=j 时结束,见下图:第一次:[1,47,89,1,18,1,47,6,90,77,50,88,89,89,0,6,1] i j第二次:[1,47,89,6,18,0,47,6,90,77,50,88,89,89,1,1,1] ij第三次:[1,47,89,6,18,0,89.. 阅读全文
posted @ 2011-11-09 16:38 KangC 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 题目:建立一个方法,当输入数小于等于100返回a,大于100返回b.要求是不能用if else,|| ? &&,switch case解答如下:functionf(v,a,b){v=Math.min(Math.ceil(v),101);//取小于101的数,如果>101返回101v=Math.floor(v/101);// >100返回1,<=100返回<=0v=Math.max(v,0);//去掉负数return{"0":a,"1":b}[v];}document.writeln(f(100,1,2));//等于 阅读全文
posted @ 2011-11-09 01:44 KangC 阅读(2149) 评论(18) 推荐(4) 编辑