两个数组 [n] [m] n>m 第一个数组的数字无序排列 第二个数组为空 取出第一个数组的最小值 放到第二个数组中第一个位置, 依次类推. 不能改变A数组,不能对之进行排序,也不可以倒到别的数组中。
2013-06-25 12:00
483 查看
方法一、
方法二、
protected int[] fun() { int[] b = { -20, 9, 7, 37, 38, 69, 89, -1, 59, 29, 0, -25, 39, 900, 22, 13, 55 }; int[] a = new int[17]; int min = 0; int max = 0; for (int i = 1; i < b.Length; i++) { if (b[min] > b[i]) { min = i; } if (b[max] < b[i]) { max = i; } } a[0] = b[min]; for (int i = 0; i < b.Length - 1; i++) { int temp = b[max]; for (int j = 0; j < b.Length; j++) { if (b[j] > a[i]) { if (temp > b[j]) temp = b[j]; } } a[i + 1] = temp; } return a; }
方法二、
int[] a = { -20, 9, 7, 37, 38, 69, 89, -1, 59, 29, 0, -25, 39, 900, 22, 13, 55 }; int[] b = new int[10]; int intTmp = a[0], intMaxNum; for (int i = 0; i < a.Length; i++) { intTmp = a[i] > intTmp ? a[i] : intTmp; } intMaxNum = intTmp; for (int j = 0; j < b.Length; j++) { for (int i = 0; i < a.Length; i++) { if (j == 0) intTmp = a[i] < intTmp ? a[i] : intTmp; else { if (a[i] > b[j - 1]) intTmp = a[i] < intTmp ? a[i] : intTmp; } } b[j] = intTmp; intTmp = intMaxNum; }
相关文章推荐
- 两个数组[n] [m] n>m 第一个数组的数字无序排列 第二个数组为空 取出第一个数组的最小值 放到第二个数组中第一个位置, 依次类推. 不能改变A数组,不能对之进行排序,也不可以倒到别的数组中。
- 一道面试题,对一个数组进行排序,第一个最大,第二个最小,第三个次大,一次类推
- 已知一数组,按第一个数最大第二个数最小,依次下去进行的规则排序
- 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数放入数组b中,如
- 对一个数组按给定的下标排序,仅使用两两交换的方式,要求不能对数组进行扩容尽可能使用额外少的空间。原数组为:A,B,C,D,E, 现给定新的位置为3, 0, 1, 4, 2那么排序为D,A,B,E,C
- 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数放入数组b中,如果
- 对一组数字排序,最大的放第一位,最小的放第二位,第二大的放第三位,第二小的放第四位,依次类推
- 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
- 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数
- 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数放入数组b中,如果
- 牛牛和15朋友来玩打土豪分田地的游戏,牛牛决定让你来分田地,地主的田地可以看成是一个矩形,每个位置有一个价值。分割田地的方法是横竖各切三刀,分成26份,作为领导干部,牛牛总是会选择其中总价值最小的一份田地,作为牛牛最好的朋友,你希望牛牛取得的田地价值和尽可能大,你知道这个值最大可以是多少吗? 输入两个整数n和m(1≤n,m≤75)表示田地的大小,接下来n行,每行包括m个0-9之间的数字,表示每块
- 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
- 某数组里存在乱序的正负数字,要求将负数放到左边,正数放到右边,并且正负数的相对位置不改变
- 【codeforces gym 100187J】 【dfs判连通】Deck Shuffling 【给你一堆牌和一些洗牌机,后者可以改变牌的顺序,问你能不能把数字为x的牌洗到第一个位置。】
- 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
- 编写程序实现以下功能: 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条
- 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数放入数组b中,如果
- js数组排序,根据数组中对象的某一属性进行排序 支持数字和字符串的排序,也支持按两个属性进行排序
- 两个数字,1000个元素的有序数组和10个元素的无序数组,把他们整合成一个按照有序数组排序方式排序的有序数组
- 程序员面试题目总结--数组(三)【旋转数组的最小数字、旋转数组中查找指定数、两个排序数组所有元素中间值、数组中重复次数最多的数、数组中出现次数超过一半的数】