算法与数据结构
程序员自由之路
这个作者很懒,什么都没留下…
展开
-
将数字金额转换为中文输出
题目描述:将阿拉伯数字的金额转换为中国传统的金额形式。 输入:1001 输出:壹仟零壹拾壹元public class Renmingbi { private static final char[] nums={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'}; private static final char原创 2015-04-15 16:28:59 · 558 阅读 · 0 评论 -
从一个长度为n的数组中随机选择m个数
基本思想: 首先在下标0---n之间随机生成一个下标,将这个下标对应的数和数组的第一个数交换位置;然后从小标1----n之间随机生成一个数,将下标对应的数和数组的第二个数交换位置。依次这样下去,知道找出m个数。public class RandomM { public static void main(String[] args) { // TODO原创 2015-04-26 15:18:56 · 6213 阅读 · 0 评论 -
随机生成不重复的整数(随机洗牌函数)
基本思想:假如你要随机打乱100个整数。首先你可以在0--99之间生成一个随机数,然后把这个下标对应的整数和数组的第一位交换位置。接着在1--99之间生成随机数,将下标对应的整数和数组的第二个数交换位置。这样一直下去。。。public class RandomCards { public static void main(String[] args) { // TODO Aut原创 2015-04-25 16:08:18 · 2421 阅读 · 0 评论 -
给定一个数组,从中查找是否存在两个数的和等于一个给定的x
基本思想:这个题其实有好几种做法,最容易想到的就是进行两重遍历,这个方法的复杂度是o(n2);public static boolean hasAB1(int[] arr,int x){ for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i]+arr[j]==x) ret原创 2015-04-28 15:10:45 · 3149 阅读 · 0 评论 -
将16进制字符串转换为整数输出
一个16进制字符串,可能是带负号的,也可能是非法的(g1234),把它转换为10进制整数输出。public class HexToDecmal { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub System.out.println(to原创 2015-07-07 10:05:19 · 3582 阅读 · 0 评论 -
数组实现约瑟夫循环
public static void main(String[] args) { //约瑟夫循环问题 boolean[] flag = new boolean[30]; for(int i =0;i<flag.length;i++){ flag[i] = true; } int counter = 30; int index = 0; while(counter>原创 2015-10-06 21:55:34 · 354 阅读 · 0 评论 -
滑动窗口的最大值
//题目:给定一个数组和滑动窗口的大小,找出滑动窗口的最大值//比如数组为:{2,3,4,2,6,2,5,1},滑动窗口的大小为3://输出:{4,4,6,6,6,5}public class SllidWindow { public static void main(String[] args) { // TODO Auto-generated method stub原创 2015-10-08 16:49:37 · 325 阅读 · 0 评论