Java给定一个数组,数组元素是一些正整数,求这些正整数收尾详解得出的最大数或最小数
2016-11-02 20:15
465 查看
算法思想:判断m,n两个数组合的大小关系用:
(1)求出m,n对应的几位数
(2)然后判断mn 与nm的大小关系进行排序即可
public class Main {
public static void main(String[] args) {
int[] n = {3,32,321};
System.out.println(maxValue(n));
}
public static int maxValue(int[] n){
int temp;
for(int i = n.length-1;i >= 0;i--){
for(int j = 0;j < i;j++){
int n1 = String.valueOf(n[j]).length();//求n[j]的位数
int n2 = String.valueOf(n[j+1]).length();//求n[j+1]的位数
int p = Integer.parseInt(String.valueOf(n[j])+String.valueOf(n[j+1]));//n[j]n[j+1]
int q = Integer.parseInt(String.valueOf(n[j+1]+String.valueOf(n[j])));//n[j+1]n[j]
if(p > q){//按从小到大的顺序排序
temp = n[j+1];
n[j+1] = n[j];
n[j] = temp;
}
}
}
StringBuffer sb = new StringBuffer();
for(int i = 0;i < n.length;i++){
sb.append(n[i]);
}
return Integer.parseInt(sb.toString());
}
}
(1)求出m,n对应的几位数
(2)然后判断mn 与nm的大小关系进行排序即可
public class Main {
public static void main(String[] args) {
int[] n = {3,32,321};
System.out.println(maxValue(n));
}
public static int maxValue(int[] n){
int temp;
for(int i = n.length-1;i >= 0;i--){
for(int j = 0;j < i;j++){
int n1 = String.valueOf(n[j]).length();//求n[j]的位数
int n2 = String.valueOf(n[j+1]).length();//求n[j+1]的位数
int p = Integer.parseInt(String.valueOf(n[j])+String.valueOf(n[j+1]));//n[j]n[j+1]
int q = Integer.parseInt(String.valueOf(n[j+1]+String.valueOf(n[j])));//n[j+1]n[j]
if(p > q){//按从小到大的顺序排序
temp = n[j+1];
n[j+1] = n[j];
n[j] = temp;
}
}
}
StringBuffer sb = new StringBuffer();
for(int i = 0;i < n.length;i++){
sb.append(n[i]);
}
return Integer.parseInt(sb.toString());
}
}
相关文章推荐
- Java编程:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。
- 给定一些数将这些数组合成一个新的数,并对它们由小到大排序
- [原]Java面试题-输入一个整型数组,找出最大值、最小值,并交换。
- 给定一个数组,元素都是正整数,要求返回这些元素所组成的最大数
- 给定一个任意长度的java数组,求数组内的数能组合出来的最大整数
- 给定一个正整数数组,随机取出一个数,要求数值越大的数被被取出的概率越大。- JAVA
- 设一个长度为10的整型数组, 0)要求每个元素的值通过scanf输入,输入完成后, 1)请顺序输出这些整数, 2)请倒序输出这些整数, 3)输出这些数中的最大值, 4)输出这些数中的最小值
- JAVA :在给定一个数组中,可以取得多个连续的子串。在众多子串中,求各元素和为最大值的连续子串!
- Java开发练习1,输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- Java 随机生成50个正整数,存放到数组,求出总和,平均值,最大值,最小值
- 堆的数据结构能够使得堆顶总是维持最大(对于大根堆)或最小(对于小根堆),给定一个数组,对这个数组进行建堆,则平均复杂度是多少?如果只是用堆的 push 操作,则一个大根堆依次输入 3,7,2,4,1,5,8 后,得到的堆的结构示意图是下述图表中的哪个?
- Java程序:求一个数组中的最大值丶最小值和平均值。
- 【Java】有个排序后的字符串数组,其中散布着一些空字符串,编写一个方法,找出给定字符串的位置
- 【Java】给定一个有序整数数组,元素各不相同且按照升序排列,编写一个算法,创建一个高度最小的二叉查找树
- Java/Go实现——把正整数数组的元素拼成一个最小的数
- 整型数组处理算法(九)给定任意一个正整数,求比这个数大且最小的“不重复数”(性能优化)[2014百度笔试题]
- 给定一个正整数数组,找所有元素组合起来最大的值(答案)
- java__给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 请确认你是否能够跳跃到数组的最后一个下标。
- [Java]给定一个递增有序数组,要求构建一棵具有最小高度的二叉查找树
- 给定一个数组,求出数组元素的排列和组合——Java实现