惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
Google Developers Blog
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
P
Proofpoint News Feed
博客园 - 【当耐特】
MongoDB | Blog
MongoDB | Blog
L
LangChain Blog
F
Fortinet All Blogs
C
Check Point Blog
博客园_首页
I
InfoQ
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
美团技术团队
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 超子

My Development PC - II My Development PC - I 为Migrator.net制作一个可自动生成版本号的项目模板 Hone C# III La Maison en Petits Cubes Hone C# II Hone C# 卡壳 游戏开发学习 02 游戏开发学习 01 游戏开发学习 00 语言学习开篇 - 写在前面 送同志们留念:动态指示条(Activity indicators) 送同志们留念:看看我们的MSDN China 都为我们作了些什么 热点杂记:Atlas Control Toolkits 更新 热点杂记:Asp.net 的演示视频 VS2005 中的 Template 热点杂记:Scott Guthrie 中文博客开通 送同志们留念:各种符号的英文名称
C#次大数的函数
超子 · 2007-01-12 · via 博客园 - 超子

好像昨天看了个博客,提到次大数函数。想了想写了一个备忘。

public int GetSecMax(int[] dataset)
    
{
        
if (dataset == null || dataset.Length == 1)
            
throw new Exception("空或只有一个数");          //一个无解异常

        
int Max = dataset[0];
        
int secMax;
        
bool hasMax = false;

        
for (int i = 1; i < dataset.Length; i++)
        
{
            
if (!hasMax && (Max != dataset[i]))
                hasMax 
= true;
            
if (Max < dataset[i])
                Max 
= dataset[i];
        }


        
if (hasMax)                                         //有解
        {
            secMax 
= Max;
            
bool hasSecMax = false;
            
for (int j = 0; j < dataset.Length; j++)
            
{
                
if (!hasSecMax)
                
{
                    
if (dataset[j] < Max)
                    
{
                        secMax 
= dataset[j];
                        hasSecMax 
= true;
                    }

                }

                
else
                

                    
if((secMax < dataset[j]) && (dataset[j] < Max))
                        secMax 
= dataset[j];
                }

            }


            
return secMax;
        }


        
throw new Exception("无解");  

    }

posted on 2007-01-12 10:35  超子  阅读(316)  评论(0)    收藏  举报

刷新页面返回顶部