`
wwwjiandan
  • 浏览: 29185 次
  • 性别: 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语言算法实现,该算法能够有效地找到数组中的最大值及其索引,并通过理解这个过程来帮助读者掌握算法思想,从而能够灵活运用到其他类似问题上。 #### 算法描述 本算法的目标是在给定的...

    找到所有数组中消失的数字(桶排序+索引映射遍历)1

    首先在数组末尾添加一个0作为标记,然后对每个元素,将其移动到它应该所在的位置,即nums[i]=nums[nums[i]],这个过程称为“计数排序”的变种。当这个过程完成后,数组中索引和值相等的元素就是出现两次的,而索引和...

    实验七 二维数组

    该代码实现了一个简单的功能,即找出一个给定的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

    代码中定义了一个10*10的二维数组`a`,但实际并未使用,因为这个任务只需控制输出即可,无需存储数据。 任务4:这个任务要求输入N个学生的信息,包括学号和三门科目的成绩,然后计算每个学生的平均成绩以及每门课的...

    高级语言程序设计:第五章 数组.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语言或...

    matlab练习一、二答案.doc

    本题目要求编写一个 Matlab 程序来找到一个二维数组中所有大于 0.5 的元素的位置。 8. 阶乘求和 本题目要求编写一个 Matlab 程序来计算 1!+2!+…+10! 9. 矩阵操作 本题目要求编写一个 Matlab 程序来找到矩阵 ...

    一本 c和数据结构

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

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

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

    全国软件设计大赛测试题目.doc

    这道题目要求找出一组数字中满足其中一个数是另一个两倍的数对。解决此问题,可以采用双指针法或者哈希表。双指针法从最小的数开始,遍历数组,每次检查后续的数是否是当前数的两倍。哈希表法则是将数组中的每个数...

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

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

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

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

    语言实现功能

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

    Java练习题11111111

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

    2003下C实验期末卷.docx

    本题要求找到所有满足条件的三位数,即该数等于它的各位数字的立方和,并找出其中最大的一个。 知识点: * 数学证明 * 算法设计 * 数据结构(数组) 题号 3:冒泡排序 本题要求使用冒泡法对 10 个整数进行升序...

Global site tag (gtag.js) - Google Analytics