随笔分类 -  算法

关于数组的几道面试题
摘要:关于数组的几道面试题2011年2月15日更新,加入找出绝对值最小的元素一题数组是最基本的数据结构,关于数组的面试题也屡见不鲜,本文罗列了一些常见的面试题,仅供参考,如果您有更好的题目或者想法,欢迎留言讨论。目前有以下18道题目,如果有好的题目,随时更新。数组求和求数组的最大值和最小值求数组的最大值和次大值求数组中出现次数超过一半的元素求数组中元素的最短距离求两个有序数组的共同元素求三个数组的共同元素找出数组中唯一的重复元素找出出现奇数次的元素求数组中满足给定和的数对最大子段和最大子段积数组循环移位字符串逆序组合问题合并两个数组重排问题找出绝对值最小的元素数组求和给定一个含有n个元素的整型数组a 阅读全文

posted @ 2012-05-10 17:07 游客远 阅读(243) 评论(0) 推荐(0) 编辑

删除有序数组中的重复元素
摘要:一串排序过的数字,空间复杂度O(1),删除重复的数字,要求时间复杂度为O(N).public class NoDupArray {/*** @param args*/public static void main(String[] args) { int a[] = new int[]{1,1,1,3,4,5,6,6,6,7,7,8,9}; int len = a.length; int k = 0; for(int i=1;i<len;i++){ if(a[i]!=a[i-1]){ a[++k] = a[i]; } } len = ++k; System.out.print(" 阅读全文

posted @ 2012-05-10 11:23 游客远 阅读(223) 评论(0) 推荐(0) 编辑

八大排序算法总结
摘要:插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;//分别为有序区和无序区指针for(i=1;i<length;i++)//逐步扩大有序区{j=i+1;if(L[j]<L[i]){L[0]=L[j];//存储待排序元素While(L[0]<L[i])//查找在有序区中的插入位置,同时移动元素{L[i+1]=L[i];//移动i--; 阅读全文

posted @ 2011-03-24 14:33 游客远 阅读(245) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示