`
wwwjiandan
  • 浏览: 29412 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何找到一个数组中第三大数字并输出它所在的位置

阅读更多
面试题:如何找到一个数组中第三大数字并输出它所在的位置
延伸问题:如何找到一个数组中第N大元素并输出它所在的位置
public class FindThirdLarge {
	public static void getThirdLargeNumber(int [] array,int nLarge){
		int count = 0;//大于某个数字的个数		
		int location = 0;//参考值的索引	
		int referenceValue = 0;//参考值		
		boolean flag = true;//循环执行标志		
		
		while(flag){
			referenceValue = array[location];				
			for(int i=0;i<array.length;i++){
				if( (i!=location) && (array[i]>referenceValue) ){	
					count +=1;
				}			
			}	
			if(count == (nLarge-1)){
				flag = false;
				System.out.println("第"+nLarge+"大数字是:"+referenceValue+";位置在:"+location);
			}else{
				count = 0;
				location+=1;						
				flag = true;
			}
		}
	}	
	public static void main(String[] args) {
		int ar [] = {3,6,4,9,5,2,8};		
		getThirdLargeNumber(ar,3);		
	}
}
分享到:
评论

相关推荐

    自定义数组中寻找最大元素位置

    - 初始时,假设数组的第一个元素是最大值,并将其位置赋值给`index`数组。 - 随后,每次发现更大的值时,都更新最大值和对应的`index`数组。 - 最终,`index`数组包含了最大值所在的位置。 3. **错误处理**: -...

    如何求最大值以及所在数组里的位置

    本文将详细介绍一个原创的C语言算法实现,该算法能够有效地找到数组中的最大值及其索引,并通过理解这个过程来帮助读者掌握算法思想,从而能够灵活运用到其他类似问题上。 #### 算法描述 本算法的目标是在给定的...

    实验七 二维数组

    该代码实现了一个简单的功能,即找出一个给定的3x4矩阵中的最大值,并输出其值及所在的位置。 **例2:打印特定图案** ```c main() { char a[5] = {'*', '*', '*', '*', '*'}; int i, j, k; char space = ' '; ...

    二维数组实例代码

    本实验旨在通过编写程序来找出一个给定矩阵(本例中为3×4)中的最大值,并确定该最大值所在的行号和列号。 ##### 实验步骤 1. **定义二维数组**:首先需要定义一个3×4的二维数组,用于存储矩阵数据。 2. **初始化...

    数组实训.doc

    3. **选择排序法**:选择排序是另一种基本的排序算法,它每次从未排序的部分中找到最小(或最大)元素,然后将其与未排序部分的第一个元素交换。这里同样定义了一个整数数组`a`,使用两个循环,外层循环确定基准位置...

    javascript入门笔记

    从弹框中录入一个数字表示考试成绩(score) 如果 成绩为 100 分 ,提示 :满分 如果 成绩 &gt;= 90 分 ,提示 :优 如果 成绩 &gt;= 80 分 ,提示 :良 如果 成绩 &gt;= 60 分 ,提示 :及格 否则 :提示 不及格 2、函数...

    LeetCode刷题记录(简单-数组)

    - 从两个数组的末尾开始,比较两个数组中的元素大小,将较大的元素放入第一个数组的末尾。 - 使用三个指针分别指向两个数组的末尾和第一个数组的当前位置。 **数据结构**: 数组 **时间复杂度**: O(m+n),其中 m 和...

    西南交通大学计算机程序设计基础-实验10-C++.docx

    首先,第一个任务要求学生从键盘输入一个5*5的整型数组,并找出主对角线上元素的最大值及其所在的行号。这个任务虽然简单,但是却涉及到了数组基本操作的许多重要知识点。学生需要通过嵌套循环来接收用户输入的数据...

    高级语言程序设计:第五章 数组.ppt

    2. **查找最大值**:在一个二维数组中找到每行的最大值及其所在列的最小值: ```c for (i = 0; i ; i++) { int max_val = a[i][0], max_col = 0; for (j = 1; j ; j++) { if (a[i][j] &gt; max_val) { max_val = a...

    数字三角形(C语言编写) 算法

    在这个问题中,我们有一个由数字构成的三角形,目标是从顶部到底部找到一条路径,使得经过的数字之和最大。通常,每次移动只能从当前所在行的一个数字移动到下一行的相邻数字。这种问题的解决方案通常是用C语言或...

    一本 c和数据结构

    找到合适的位置,即比`7`大的第一个元素之前。 2. 将所有比`new_item`大的元素向右移动一位。 3. 将`new_item`放入腾出的位置。 #### 1.3 排序字符串数组 - **排序字符串数组**:排序字符串数组与排序整数数组...

    C++数值的查找提高练习.pptx

    最后,我们分析了一个C++程序,用于统计输入的n个数字在[0,10000]范围内的频数,并将它们按照频数顺序输出。这个程序利用了memset函数初始化数组c,然后通过两层循环,第一层遍历0到9999,第二层根据每个数的频数将...

    编程算法练习--没事的时候练练

    - 如果找到,则累加计数器,并继续搜索下一个位置。 #### 知识点十:斐波那契数列的特殊模式 - **描述**:给出一个100位的斐波那契数列,每10位打印一次。 - **实现思路**: - 生成斐波那契数列。 - 使用计数器...

    《数据结构Java版》习题解答.doc

    2. **构建链表**:从数组第一个元素开始,依次创建节点并连接起来。 3. **返回链表头**:返回链表的头节点。 ##### 实验2.2:单链表的查找、包含、删除操作 **实验目的:** 实现单链表的查找、包含和删除操作。 *...

    语言实现功能

    - **Kruskal算法**:按边的权重从小到大排序,依次考虑每条边,如果这条边连接的两个顶点还没有在同一个集合中,则将这条边加入到最小生成树中,并将这两个顶点所在的集合合并。 由于文件没有给出具体的实现细节,...

    Java练习题11111111

    22. 编写程序,设计一个函数计算从 3 到 n 之间所有素数的平方根之和并返回,在主函数中输入一个整数,调用这个函数,并输出: 这道题目考查了函数调用和循环语句的使用。解决思路是使用函数调用来计算素数的平方根...

    c语言实现数独问题

    从第一个空格开始,尝试1到9的数字,如果当前数字在该位置合法,就填充并继续下一个空格;如果不合法,则回溯到上一个尝试的数字,尝试下一个数字。如果所有数字都无法填充,说明当前路径无效,需要回溯至上一步。 ...

    c语言实验报告

    - **习题7.8**:源程序中通过遍历矩阵中的每一个元素,并分别与所在行的其他元素以及所在列的其他元素进行比较,来判断是否存在鞍点。 通过这些实验练习,学生不仅能够加深对C语言的理解,还能提高解决问题的能力和...

    马鞍点程序

    在数学和计算机科学中,“马鞍点”(Saddle Point)是指一个矩阵中的元素,它在其所在行中是最大的,在其所在列中是最小的。换句话说,如果一个元素 `a[i][j]` 在第 `i` 行中最大,在第 `j` 列中最小,那么 `a[i][j]...

    计算机视觉Computer Vision (5th) Principles, Algorithms, Applications, Learning 第3章答案

    图像处理中的一个重要概念是二值图像,它通常只有黑白两种颜色值,是数字图像处理中的一个重要方面。二值图像的处理通常涉及边缘检测、特征提取和图像分割等任务。在提取二值图像的边缘时,可以使用形态学操作,例如...

Global site tag (gtag.js) - Google Analytics