一些算法的复习和整理,争取每天一个算法
2011-04-16 22:08
274 查看
一哥们去一著名跨国大大大的公司去面试。在很多项目经验,设计,架构,前台,后端都考察个遍后...私以为快要拿到Offer的时候... 不信的事情发生了。
考官出了两道大二时候经常考的算法题。用惯了IDE的他居然一时蒙掉了,提笔多次却无从落笔。悲剧之余,只得铩羽而归...
为了不和这哥们一样,我觉得好好复习复习算法相关的问题,争取每天一个算法题,以题促进。对于我个人的解决方案肯定有部分是比较粗陋的,希望各位大牛不吝赐教,留下各位的算法。当然我觉得各位在看我的算法之前自己动手写写应该也是有提高的,最好是用记事本写,然后直接Copy到IDE中测试,看看离开了Intelligence还能不能直接Run的起来...
1: 经典的冒泡排序
简述:给出一组乱序数组 如: int[] a = new int[10]{1,3,5,12,14,2,4,6,2,7};
要求:写出f(n), 使得乱序数组按序排列。
View Code
解析:典型的插值,我稍加改变,本来是插入一个数,我改成了插入一个数组。实现原理就是new新的数组result,然后按顺序把a中元素和b中的每个元素比较,符合要求的(a[i]>b[j])家,先插入b[j]到result数组,在插入a[i],否则直接插入a[i]。这里设置b[j]为int.MaxValue是为了不对b中元素重复操作。我想肯定有更好的算法,希望大家不吝赐教。
考官出了两道大二时候经常考的算法题。用惯了IDE的他居然一时蒙掉了,提笔多次却无从落笔。悲剧之余,只得铩羽而归...
为了不和这哥们一样,我觉得好好复习复习算法相关的问题,争取每天一个算法题,以题促进。对于我个人的解决方案肯定有部分是比较粗陋的,希望各位大牛不吝赐教,留下各位的算法。当然我觉得各位在看我的算法之前自己动手写写应该也是有提高的,最好是用记事本写,然后直接Copy到IDE中测试,看看离开了Intelligence还能不能直接Run的起来...
1: 经典的冒泡排序
简述:给出一组乱序数组 如: int[] a = new int[10]{1,3,5,12,14,2,4,6,2,7};
要求:写出f(n), 使得乱序数组按序排列。
View Code
1 public static void RunSnippet() 2 { 3 int[] a = new int[]{1,2,3,4,7,8,9,10}; 4 int[] b = new int[]{2,5,6,8}; 5 int z= 0; 6 int[] result = new int[a.Length+b.Length]; 7 for(int i = 0;i<a.Length;i++) 8 { 9 for(int j=0;j<b.Length;j++) 10 { 11 if(a[i]>b[j]) 12 { 13 result[z]=b[j]; 14 b[j] = int.MaxValue; 15 z+=1; 16 } 17 } 18 result[z] = a[i]; 19 z+=1; 20 } 21 for(int i = 0;i<result.Length;i++) 22 { 23 Console.WriteLine(result[i]); 24 } 25 }
解析:典型的插值,我稍加改变,本来是插入一个数,我改成了插入一个数组。实现原理就是new新的数组result,然后按顺序把a中元素和b中的每个元素比较,符合要求的(a[i]>b[j])家,先插入b[j]到result数组,在插入a[i],否则直接插入a[i]。这里设置b[j]为int.MaxValue是为了不对b中元素重复操作。我想肯定有更好的算法,希望大家不吝赐教。
相关文章推荐
- 面试算法的复习和整理,争取每天一个算法[常更长新]
- flag1本人技术小白,自学了数据结构,现在自学算法,给自己立一个flag争取每天学会一个算法,欢迎大家监督打脸!!!!
- 面试复习重点 算法 数据结构 【山科大牛陈磊整理】
- 每天学习一算法系列(14) (输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字)
- 每天一个小算法(Shell sort5)
- 【每天学点算法题10.15】指定一个字符串,对字符串左旋K位
- 每天一个数据结构——三种简单排序算法及Java实现
- 每天学习一算法系列(17)(在一个字符串中找到第一个只出现一次的字符)
- 求职复习算法整理
- 每天一个算法之链表逆序
- 以下是computer vision:algorithm and application计算机视觉算法与应用这本书中附录里关于计算机视觉的一些测试数据集和源码站点,我整理了下,加了点中文注解
- 整理一些图论的算法
- 渣渣小本求职复习之路每天一博客系列——数据结构与常用算法(1)
- 每天一个小算法(Shell sort5)
- 每天学习一算法系列(20)(输入一个表示整数的字符串,把该字符串转换成整数并输出)
- java将一个正整数分解质因数(每天一道算法题)
- 一些常用/经典算法的文章的收集整理
- 每天一道算法题7 查找链表中倒数第k个结点 ; 输入一个单向链表。如果该链表的结点数为奇数,输出中间的结点;如果链表结点数为偶数,输出中间两个结点前面的一个
- 运动目标跟踪(十七)--一些跟踪算法简述及跟踪牛人资料整理
- 每天学一个算法1-冒泡算法