找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}

int [][]a={{3,2,6},{6,8,2,10},{5},{12,3,23}};

//先对二维数组进行遍历;然后把二维数组合成一个数组
int[] k=new int[11];
int q=0;

for(int i=0;i<a.length;i++)
{
for(int j=0;j<a[i].length;j++)
{
for(int m=q;m<11;m++)
{
k[m]=a[i][j];
q++;
break;
}

}

}

//对信和成的数组进行冒泡排序
for(int x=0;x<11;x++)
{
for(int y=0;y<x;y++)
{
if(k[x]>k[y])
{
int zhong=k[y];
k[y]=k[x];
k[x]=zhong;
}
}
}
System.out.println("最小值是:"+k[10]+"\n"+"最大值是:"+k[0]);

时间: 2024-11-08 08:06:53

找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}的相关文章

算法题:找出一个数组中相加值最大的连续序列元素

package arithmetic; /** * @author SHI * 求一个数组中相加值最大的连续序列元素 */ public class MaxSequence { public static void main(String[] args) { int[] a=new int[]{-2,9,-3,4,-6,7,-6,4}; findBigSequence(a); } /** * 思想: (1)计算出该数组的所有元素和,假设该值为最大 * (2)从数组下标1到a.length-1依次

算法题:找出一个数组中依次最大的k个元素

package arithmetic; import java.util.Arrays; /** * 找出一个数组中依次最大的k个元素 * @author SHI */ public class FindMaxFigure { public static void main(String[] args) { int[] a=new int[]{1,5,-1,8,0,2}; System.out.println(Arrays.toString(findBigFigure(a, 3))); } /*

1152: 零起点学算法59——找出一个数组中出现次数最多的那个元素

1152: 零起点学算法59--找出一个数组中出现次数最多的那个元素 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 990  Accepted: 532[Submit][Status][Web Board] Description 找出一个数组中出现次数最多的那个元素 Input 第一行输入一个整数n(不大于20) 第二行输入n个整数 多组数据 Output 找出n个整数中出现次数最多的那个整数(

程序员面试100题之十:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值(转)

能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解. 假如有如下的两个数组,如图所示: 5,6,1,4,7,9,8 给定Sum= 10 1,5,6,7,8,9 给定Sum= 10 分析与解法 这个题目不是很难,也很容易理解.但是要得出高效率的解法,还是需要一番思考的. 解法一 一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为给定的数字. 显然其时间复杂度为N(N-1)/2即O(N^2).这个算法很简

面试题1:找出一个数组中三个只出现一次的数字

version1: 找出一个数组中一个只出现一次的数字,其他数字都出现两次:将所有数字异或,得到的结果即为只出现一次的. version2: 找出一个数组中两个只出现一次的数字,其他数字都出现两次:将所有数字异或,得到的结果即为x=a^b, index为x中第一个为1的位,则a 和b中第index为必然有一个为1,有一个为0.据此将所有数据分为两组,一组的第index为都为1,另一组第index为都为0,第一组数字异或得到a,第二组数字异或得到b. 时间复杂度为o(n),空间复杂度为o(1).

javascript 找出数字数组中最大的数

找出数字数组中最大的数 var Match = (function(){ var arr = null; var len = 0; return { max:function(arr,len){ arr = arr; len = arr.length; var newArr = arr.sort(); return newArr[len-1]; } } })(); var maxCount = Match.max([3,4,5,11,3,4,55,67,88,33]); console.log(

算法:找出有序数组中两数,它俩之和等于输入值

题目:已知按序排列的整数数组,输入任意数number,当数组中某两数之和等于number时,打印出两个数. 要求:复杂度为o(n) 解法: 数组已是有序排列,且两个加数一定满足条件:较小加数<= (number/2) <= 较大加数:那么只需要找出该数组的较小加数和较大加数分界index,以该分界为起点分别往左右两边逐个取值匹配. 若两数之和>number,说明较小加数还要再小,向数组的较小值方向移位取值与原较大值重新匹配. 若两数之和<number,说明较大加数还要再大,向数组的

找出有序数组中绝对值最小的数

问题: 一个有序数组,值有可能有负值,也有可能没有,现需要找出其中绝对值最小的值. 方法1: 遍历数组,找到绝对值最小值,时间复杂度O(n),n为元素个数. 方法2: 二分查找,因为数组有序,可以利用二分查找,时间复杂度O(logn). 分析步骤: 如果第一个数为正数,说明整个数组没有负数,直接返回第一个数 如果最后一个数为负数,说明整个数组没有正数,直接返回最后一个数 数组元素有正有负,说明绝对值最小的元素肯定在正负数交界处,需要二分查找上场: 如果a[mid]<0,因为数组是升序,说明绝对值

算法题:找出整数数组中两个只出现一次的数字

问题:一个整数数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度为O(n),空间复杂度为O(1). 分析:这是一个很新颖的关于位运算的题目. 首先考虑这个问题的一个简单版本:一个整数数组里除了一个数字之外,其他的数字都出现两次,请写程序找出这个只出现一次的数字. 这个问题的突破口在哪?题目中数组的性质是只有一个整数出现一次,其他的都出现两次.这样的话就使我们想到了异或运算的性质:任何一个数字异或它自己都等于0.也就是说如果从头到尾依次异或数组中的每