摘要: import java.util.*; /** * 直接插入排序 * 原理参考:http://www.cnblogs.com/kkun/archive/2011/11/23/2260265.html * 我的理解是输入一组数 * 第一步给前两个数排序 * 第二步给前三个数排序 * 以此类推 * 因此每次第i个数准备插入时,前0~i-1个数均已有序 * @author zz * ... 阅读全文
posted @ 2017-04-28 10:26 55329 阅读(142) 评论(0) 推荐(0)
摘要: /** * 简单选择排序 * 原理参考:http://blog.csdn.net/hulifangjiayou/article/details/47321309 * 每次找到当前及之后位置中最小的数存在哨兵a[min]中,一轮最多只进行一次交换。 /import java.util.*; public class Main { public static void sort(int[]... 阅读全文
posted @ 2017-04-27 16:35 55329 阅读(125) 评论(0) 推荐(0)
摘要: package ds.sort; import java.util.Arrays; import java.util.Scanner; //在冒泡排序的基础上做了优化,当有序时即可不需要再比较循环 public class BubbleSort { public static void sort(int[] a){ boolean flag = true; for(int i=0; i... 阅读全文
posted @ 2017-04-27 16:24 55329 阅读(129) 评论(0) 推荐(0)
摘要: 开始时我的把所有数字都当成一位数以及一个空格的分隔符来看,通过率只有40%,是利用String.toCharArray()方法,后来还是使用判断一个或多个空格的正则表达式将其变成String数组。谨记String类型作比较时==和equals()的区别!!! 阅读全文
posted @ 2017-04-27 10:45 55329 阅读(199) 评论(0) 推荐(0)
摘要: 题目描述: 对N个长度最长可达到1000的数进行排序 输入描述:输入第一行为一个整数N,(1<=N<=100).接下来的N行每行都有一个数,数的长度范围为1<=len<=1000,每个数都是一个正数,并且保证不含前缀0。 输出描述:可能有有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序, 阅读全文
posted @ 2017-04-13 11:06 55329 阅读(282) 评论(0) 推荐(0)
摘要: 给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。 阅读全文
posted @ 2017-04-06 20:19 55329 阅读(377) 评论(0) 推荐(0)
摘要: /** * * 找出四位数的所有吸血鬼数字 * 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序. * 以两个0结尾的数字是不允许的。 * 例如下列数字都是吸血鬼数字 * 1260=21*60 * 1827=21*87 * 2187=27*81 * ... 阅读全文
posted @ 2017-03-15 11:21 55329 阅读(203) 评论(0) 推荐(0)
摘要: 1 import java.util.Scanner; 2 3 public class Main { 4 public static boolean isPrime(long m) { 5 if (m <= 1) 6 return false; 7 for (int i = 2; i * i < m; i++) ... 阅读全文
posted @ 2017-03-13 22:16 55329 阅读(125) 评论(0) 推荐(0)
摘要: 第一道题 题目要求:给定一个整数数组,找出其中两个数满足相加等于你指定的数字。这个函数twoSum必须要返回这两个数的索引。 解题思想:我的解法是定义一个只有两个元素的一维数组,以存放最后返回的两个索引值,然后循环套循环,找到即返回。 缺陷:算法比较直接,并不能优化效率。 阅读全文
posted @ 2017-03-07 16:17 55329 阅读(118) 评论(0) 推荐(0)
摘要: 第二道题 题目要求:将一个整数逆置遍历,如整数123-->321; -123-->-321。 解题思想:我的解法是将数字转化成字符数组a,然后遍历一遍逆向复制到b中,如果是负数的话,做判断将符号放在数组首位,原数组其他字符后移一位。得到c,再转化成String->int即可。 缺陷:很明显耗费很大, 阅读全文
posted @ 2017-03-07 16:17 55329 阅读(81) 评论(0) 推荐(0)