下午去轩辕互动面试了,可是第一轮就被刷了。没办法,没有那本事。
面试时问的是上一次做的一个题目:查找一个排好序的数组中绝对值不相同的数的个数。
我以前做的一个算法的复杂度为nlog(n), 晚上回来好好想了想,终于想出了一个O(n)的算法
public class DistinctCount{
public static int distinctCount(int[] data){
int start = 0;
int end = data.length - 1;
int count = 0;
while(start <= end){
while((start < (data.length - 1)) && (data[start] == data[start + 1]) && (start <= end)){
start++;
count++;
}
while((end > 0) && (data[end] == data[end - 1]) && (start <= end)){
end--;
count++;
}
if(start > end)
break;
if((data[start] == data[end]) || (data[start] + data[end] == 0)){
start++;
end--;
count++;
}else if(data[start] >= 0 || data[end] <= 0){
start++;
}else{
if(data[start] + data[end] < 0)
start++;
else
end--;
}
}
return data.length - count + 1;
}
public static void main(String[] args){
//int data[] = {-10, -10, -9, -9, -8, -7, -5, -3, 0, 1, 2, 2, 3, 3, 4, 5, 5, 5, 6, 7, 7};
int data[] = {1, 1, 1, 1, 1};
System.out.println(DistinctCount.distinctCount(data));
}
}
分享到:
相关推荐
QT工程。 轩辕剑online、轩辕剑苍之涛、轩辕剑4里面的PLY文件,就是里面的3D模型都可以用这个读取。配合tex文件,可以显示出贴图。
最新的手机游戏——轩辕豪侠传-破解版.jar
轩辕剑java代码
可以读取显示轩辕剑online、轩辕剑4、苍之涛里面的PLY模型。
VC轩辕剑天之痕【包含图片视频音乐源代码】PART.1
轩辕中学八年级下数学周测试题精选.doc
轩辕剑一键安装即玩服务端游戏程序+充值后台
4路监控采集卡驱动 品牌为轩辕 时间为12年6月版本
趴站蹲点\轩辕剑V3.31.zip
轩辕剑5完全說明手册 轩辕剑5完全說明手册
四路采集卡轩辕for Windows的驱动和工具,这是同轴电缆作为介质的监控视频设备所用的。
河南省郑州市轩辕2012年九年级数学上学期第一次月考试题(无答案) 北师大版 试题.doc
轩辕旅行网站源码,有兴趣的可以下载看看!!
轩辕中学2008—2009学年八年级数学下月考试题精选.doc
截取轩辕剑6的3D模型 《轩辕剑陆》正式版(需激活)或试玩版(←我不是来卖萌的,强迫症一定要列全,桑不起…) (2) GameAssassin,游戏模型截取软件。
通过MAX SDK获取轩辕剑PLY运动矩阵;
9900炮 游戏程序的软件版打码器 适用少数复制的版本
我编写的游戏全部源码,内部包含地图编辑器源码。
仅显示轩辕剑网络版游戏中的经验数值 支持双开,支持蚩尤再现 不提供外挂功能
轩辕剑3外传天之痕完全手册