算法题

Posted yu-weijie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法题相关的知识,希望对你有一定的参考价值。

写一个函数找出一个整数数组中,第二大的数

 

 1 #include <stdio.h>
 2 
 3 int max(int a, int b)
 4 {
 5         return a>b?a:b;
 6 }
 7 
 8 int min(int a, int b)
 9 {
10         return a<b?a:b;
11 }
12 
13 int Find_Second_Max(int data[], int n)
14 {
15     int i;
16     if(n<2) return -1;
17     int max_num = max(data[0],data[1]);
18     int sec_num = min(data[0], data[1]);
19     for(i=2;i<n;i++)
20     {
21         if(data[i]>max_num)
22         {
23             sec_num = max_num;
24             max_num = data[i];  
25         }
26         else if(data[i]>sec_num)
27         {
28             sec_num = data[i];
29         }
30     }
31     return sec_num;
32 
33 }
34 int main()
35 {
36     int data[5] = {2,13,5,17,1};
37     int sec_num;
38     sec_num = Find_Second_Max(data, 5);
39     printf("%d",sec_num);
40     return 0;
41 }

 

 

思路:①先设置好最大和第二大的变量;②i从2开始遍历,有两种情况:一当前元素大于最大值;二当前元素小于最大值大于第二大的值。

 

以上是关于算法题的主要内容,如果未能解决你的问题,请参考以下文章

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

片段(Java) | 机试题+算法思路+考点+代码解析 2023

前端面试题之手写promise

数据挖掘2022年2023届秋招Kanaries雾角科技算法岗 笔试题

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

第2题——DNA片段