#include
#include
#include
using namespace std;
intmain()
if(n ==2)
//3個數以上的情況
vector<
int> data;
while
(n--
)int length=data.
size()
;sort
(data.
begin()
,data.
end())
;//先排序比較好處理,從小到大
//先求最小的,肯定是相鄰的相減得到
int min_val=
abs(data[1]
-data[0]
);//得出乙個比較值
for(
int i=
2;i++i)
//逐項相鄰差值相比較,找出最小值
//開始統計有最小差值的對數
int min_count=0;
//如果最小差值為0,需要用組合的思想找出相同的數字能組成的對數,以下是遍歷查詢
if(min_val==0)
}}//如果最小差值大於0,必然是尋找相鄰差值相同的對數
else
}//求差最大的對數,最小值的個數乘以最大值的個數(如果最大的不等於最小的)
int max_val=data[length-1]
-data[0]
;int max_count=0;
int a,b;
a=b=0;
//找出最小的數有多少個相同的
for(
int i=
0;i++i)
//找出最大的數有多少個相同的
for(
int i=length-
1;i>=
0;i--
)//此處判斷如果最大值和最小值相同,即差值為0,直接用排列組合方式求出個數
if(max_val==0)
max_count=length*
(length-1)
/2;else max_count=a*b;
//輸出答案
cout<' '<}return0;
}
vector<
int> line // 定義乙個容器line(可以簡單理解為乙個陣列,只是陣列大小可變)
for(
int i =
0; i <
10; i ++
)
求滑動視窗中的最大值和最小值
滑動視窗 一般使用雙指標演算法,左指標l和右指標r之間的空間稱為視窗,由於指標是不斷移動的,從而視窗也可以移動,稱為滑動視窗。滑動視窗的最值 由於視窗是移動的,移動的過程中有新元素的加入也有舊元素的彈出。每一次元素的加入或彈出都可能使視窗中元素的最值發生變化,也正是會發生變化,使得無法直接獲取任意時...
求最小公倍數和最大公約數的方法
書本第四章第01題,分別求出兩個整數的最大公約數和最小公倍數,用主函式呼叫兩個函式,並輸出結果,兩個整數由鍵盤輸入。最小公倍數 解法一 借助最大公約數求最小公倍數 步驟 一 利用輾除法或其它方法求得最大公約數 二 最小公倍數等於兩數之積除以最大公約數。最小公倍數 解法二 質因數分解 舉例 12和27...
求最大公約數和最小公倍數的演算法
本題要求兩個給定正整數的最大公約數和最小公倍數。輸入在一行中給出兩個正整數m和n 1000 在一行中順序輸出m和n的最大公約數和最小公倍數,兩數字間以1空格分隔。511 29273 2044 兩個數的乘積等於兩個數的最大公約數乘於最小公倍數 輾轉相除法是古希臘求兩個正整數的最大公約數的,也叫歐幾里德...