C++求次最值
首先在main方法裡面定義一個整型陣列,然後呼叫getMin()方法,getMin方法首先傳入兩個引數(一個是陣列引數,另一個是陣列長度),在方法裡面通過for if 來判斷!先是求出最值的下標,然後把最值下標i賦值給b,再判斷buf[i]!=buf[b]後,再繼續便利這個沒有最小值的陣列,再將這個沒有最小值的陣列再求最小值就得到了次最值!
#include<iostream> using namespace std; /* 功能:求最小值 函式名:getMin 返回值型別:int */ int getMin(int buf[100],int ilen) { //buf[0]=999; int listen=0; int b=0; for(int i=0;i<9;i++) { if(buf[b]>buf[i]) { b=i; } if(buf[i]!=buf[b]) { for(int y=0;y<9;y++) { if(buf[listen]>buf[i]) { listen=i; } } } } return buf[listen]; } int main() { //定義一個整型陣列 int buf[100]={11,9,2,5,4,33,6,8,7}; cout<<"呼叫之前:buf[0]="<<buf[0]<<endl; //呼叫函式: cout<<getMin(buf,9)<<endl; //cout<<"呼叫之後:"<<buf[0]<<endl; }
第二種方法.
#include<iostream> using namespace std; //求次大值的元素 int GetS(int buf[100],int ilen) { int mlisten,i,slisten; //最大值 for(i=0,mlisten=0,slisten=0;i<ilen;i++) { if(buf[mlisten]<buf[i]) { slisten=mlisten; //之前的最大值成為次大值 mlisten=i; } else if(buf[i]>buf[slisten]) //如果新元素比最大值小 { slisten=i; } } return slisten; } //求次大值 int GetS(double buf[100],int ilen) { int mlisten,i,slisten; //最大值 for(i=1,mlisten=0,slisten=0;i<ilen;i++) { if(buf[mlisten]<buf[i]) { slisten=mlisten; //之前的最大值成為次大值 mlisten=i; } else if(buf[i]>buf[slisten] || slisten==mlisten) //如果新元素比最大值小 { slisten=i; } } return slisten; } //主函式 int main() { int buf[100]={1,2,6,5,3,4,7,9,8}; double score[100]={99.9,98.1,78.9,58.9}; //呼叫函式 cout<<GetS(buf,9)<<endl; cout<<score[GetS(score,4)]<<endl; }
相關推薦
C++求次最值
首先在main方法裡面定義一個整型陣列,然後呼叫getMin()方法,getMin方法首先傳入兩個引數(一個是陣列引數,另一個是陣列長度),在方法裡面通過for if 來判斷!先
HDU6447 YJJ's Salesman-2018CCPC網絡賽-線段樹求區間最值+離散化+dp
fine 滾動 tps 記得 size names sum 離散 圖片 目錄 Catalog Solution: (有任何問題歡迎留言或私聊 && 歡迎交流討論哦 Catalog Problem:Portal傳送門 ?原題目描述在最下面。 ?1e5個點
樹狀陣列求區間最值和單點更新
題目連結:https://cn.vjudge.net/contest/66989#problem/B AC程式碼: #include<iostream> #include<string> #include<cstring> #include<cm
C#求單詞最長公共字首
例如:class、classify、clean的公共最長字首為cl。 例如:count、key、open的最長公共字首為空字串。 程式碼如下: using System; using System.Collections.Generic; using System.Linq; using
樹狀陣列求區間最值
1627: 極差 Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board] Description 還記得高中數學的統計部分的極差嗎?既然你能上zcmu計算機及其相關專業,想必計算能力是很厲害的,有一個實
2018CCPC網路賽-線段樹求區間最值+離散化+dp
原題目描述在最下面。 1e5個點,問從(0,0)走到(1e9,1e9)的最大收益。 當你從(u-1,v-1)走到(u,v)時,你可以獲得點(u,v)的權值。 solution: 十分詳細了。 直接線段樹區間最值。當然也可以樹狀陣列,不能st表。 dp
C語言:最值問題
求最值問題 1.輸入n個整數,求最大值,最小值和平均值 #include<stdio.h> int main() { int i, avg = 0, max = 0, min = 0, n, k; printf("請
遺傳演算法上機系列之用遺傳演算法求函式最值問題(附自己寫的程式碼)
本文基於下面的最值問題進行求解: maxf(x1,x2)=21.5+x1sin(4πx1)+x2sin(20πx2)\ max f(x_1,x_2)=21.5+x_1sin(4\pi x_1)+x_2sin(20\pi x_2)maxf(x1,x2)=21.
C語言:最值之差
題目: #include <stdio.h> int main() { int n,a[10000],i=0,max,min,t; scanf("%d",&n); while(scanf("%d",&a[i])!=EOF) i++; max=
山東理工大學ACM平臺題答案 1170 C語言實驗——最值
C語言實驗——最值 Time Limit: 1000ms Memory limit: 65536K 有疑問?點這裡^_^ 題目描述 有一個長度為n的整數序列。請寫一個程式,把序列中的最小
RMQ 求區間最值
pku 3264 #include <cstdio> #include <cstring> #include <string> #include <al
apply()/call()求陣列最值
var numbers = [5, 458 , 120 , -215 ]; var maxInNumbers = Math.max.apply(this, numbers); console.
RMQ求區間最值問題
#include <iostream> #include <stdio.h> #include <cstring> #include <algorithm&g
C++求矩陣最小路徑和進階方法空間複雜度O(min {row, col})
#include <iostream> int minPathSum_pro(const int(*pArr) [10], const int &row, const int &col); int main() {int row = 0, col
hdu1754-I Hate It 線段樹RMQ演算法求區間最值問題
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total
RMQ求區間最值 nlog(n)
RMQ演算法全稱為(Range Minimum/Maximum Query)意思是給你一個長度為n的陣列A,求出給定區間的最值的下標。當然我們可以採用列舉,但是我們也可以使用線段樹來優化,複雜度為
2823 Sliding Window 求區間最值 線段樹好慢,能用單調佇列
Sliding WindowTime Limit: 12000MSMemory Limit: 65536KTotal Submissions: 14533Accepted: 4096Case Time Limit: 5000MSDescriptionAn array of s
C語言求出陣列中的最大值和次大值!
#include<stdio.h> //改陣列大小隻需要修改 N後面的數字 #define N 5 int main(void){ int arr[N]={5,6,8,3,9}; int max= 0; //定義最大值並賦值 int mid= 0
C++求兩個數的最大值
eof sizeof ios int sig turn c++ a + b -a //不使用if,:?等推斷語句。求兩個數字中最大的那個數字。 #include<iostream> using namespace std; int main(
紫色的手鏈(求最大值和次大值的異或值最大)
tdi 一個 data 不同的 col std 不同 date 格式 描述 那是木姑娘十七歲時,我送給她的生日禮物。(後來手鏈也成為了我最喜歡的出題媒介) 記得最初買的手鏈,由n段紫色的珠子構成,每一顆珠子都被賦予了一種價值評價w[i]。 為了木姑娘,我只惋惜自己不能摘下漫