leetcode与算法
文章平均质量分 56
93号选手
这个作者很懒,什么都没留下…
展开
-
leetcode 14: Swap Nodes in Pairs
主要作用是:1:解决元素存储的安全性问题。 2:解决在集合中获取数据元素时,需要类型强转的问题。 个人理解:把集合看作是一个垃圾箱,里面存放各种元素。现在加入泛型,就等于等垃圾箱加了给标签,什么厨房垃圾,可回收垃圾...。JAVA1.5以前没有泛型,好比编译器取垃圾箱(集合)内垃圾(元素)时候没有明确指出是什么垃圾,可取但是会出现了许多类型错误,所以采用了泛型,只可存入String的集合,只可存原创 2015-06-22 13:19:55 · 373 阅读 · 0 评论 -
leetcode 258 Add Digits(java)
scanner可以允许输入多行, next() 每次取到一个间隔符前面的数据 如: 输入 a b c 取值应该是a,因为a后面有空格 nextLine() 每次取一个换行符前面的数据 如:输入 a b c 回车,取值 就是a b c nextInt() 是取next() 然后把字符串解析成一个int数字。 hasNextInt() 是判断下次调用next()是否可以得到一个可以安全解析成in原创 2014-10-25 20:23:48 · 650 阅读 · 0 评论 -
希尔排序:Java(最小增量排序)
基本思想: 基本思想:算法先将要排序的一组数按某个增量 d(n/2,n为要排序数的个数)分成若 干组,每组中记录的下标相差 d.对每组中全部元素进行直接插入排序,然后再用一个较小 的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增量减到 1 时,进行直接 插入排序后,排序完成。 图解 Java实现 public class Shell { public vo...原创 2015-11-12 07:29:11 · 1127 阅读 · 0 评论 -
常用排序算法稳定性、时间复杂度分析
首先了解大O符号(Big O notation)是用于描述函数渐进行为的数学符号。更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。在数学中,它一般用来刻画被截断的无穷级数尤其是渐近级数的剩余项;在计算机科学中,它在分析算法复杂性的方面非常有用。 1、 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排...转载 2015-11-12 07:40:20 · 349 阅读 · 0 评论 -
java快速排序实现
基本思想 选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描, 将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其 排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分 步骤 1.从数列中挑出一个元素,称为 “基准”(pivot), 2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准...原创 2015-11-12 07:39:14 · 451 阅读 · 0 评论 -
集合乱序排列
将集合中的顺序以乱序打乱排列 使用Collection.sort( lists, new Comparator<list>()){ // 对集合 lists 自定义排序 @override public int compara(list a , list b ){ return Math.random()>0.5? 1:-1 ; //关键点 使得此方法随即返回 ...原创 2015-08-16 06:28:22 · 736 阅读 · 0 评论