一、題目描述:(408聯考 2010真題)
二、演算法思想:
可以將這個問題看作是把陣列ab轉換為ba(a代表陣列的前p個元素,b代表陣列中的餘下n-p個元素),先將a逆置得到a-1b,再將b逆置得到a-1b-1,最後將整個a-1b-1逆置為(a-1b-1)-1=ba。
三、核心**:
void reverse(int r,int from,int to)
}void converse(int r,int n,int p)
四、完整**:
#includevoid reverse(int r,int from,int to);
void converse(int r,int n,int p);
void print(int r,int n);
int main()
; int n;
int p;
n=sizeof(r)/sizeof(int);
printf("please input the value of p:");
scanf("%d",&p);
converse(r,n,p);
print(r,n);
return 0;
}void reverse(int r,int from,int to)
}void converse(int r,int n,int p)
void print(int r,int n)
{ int i;
for(i=0;i五、測試結果:
渣渣渣變渣渣系列(2)
一 題目描述 408聯考真題 2011 二 演算法思想 分別求兩個公升序序列a和b的中位數,設為a和b,求序列a和b的中位數過程如下 1 若a b,則a或b即為所求中位數,演算法結束。2 若a3 若a b,則捨棄序列a中較大的一半,同時捨棄序列b中較小的一半,要求兩次捨棄的長度相等。在保留的兩個公升...
渣渣渣變渣渣系列(3)
一 題目描述 二 演算法思想 本演算法的巧妙之處在於充分利用主元素的定義,即在序列中個數超過半數的元素。那麼在動態統計的過程中,主元素出現的頻率要最大可能的大於1 2。由於是動態統計,所以可能在區域性範圍內可能出現誤判,當主元素在序列分布不均時,可能一開始出現誤判,但最終是會被糾正的,這個是可以通過...
渣渣演變之路
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。輸出格式 在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 123456789098765...