描述:
計算最少出列多少位同學,使得剩下的同學排成合唱隊形
說明:n位同學站成一排,**老師要請其中的(n-k)位同學出列,使得剩下的k位同學排成合唱隊形。
合唱隊形是指這樣的一種隊形:設k位同學從左到右依次編號為1,2…,k,他們的身高分別為t1,t2,…,tk, 則他們的身高滿足存在i(1<=i<=k)使得titi+1>......>tk。
你的任務是,已知所有n位同學的身高,計算最少需要幾位同學出列,可以使得剩下的同學排成合唱隊形。
輸入:整數n
一行整數,空格隔開,n位同學身高
輸出:最少需要幾位同學出列
樣例輸入:
8186 186 150 200 160 130 197 200
樣例輸出:
4以每個人為中心向左右擴充套件,然後計算要刪除幾人,最後保留最小值。
**如下:
#include #include #include using namespace std;
//以i為起點向左走,要刪除幾個人
int getleftcount(vector&num, int i)
else
}return count;
}//以i為起點向右走,要刪除幾個人
int getrightcount(vector&num, int i)
else
}return count;
}int getcount(vector&num)
return res;
}int main()
cout << getcount(num) << endl;
} return 0;
}
華為機試練習題 37 合唱隊
題目 描述 計算最少出列多少位同學,使得剩下的同學排成合唱隊形 說明 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足存在i 1 i k 使得t...
華為機試練習題 37 合唱隊
題目 描寫敘述 計算最少出列多少位同學。使得剩下的同學排成合唱隊形 說明 n位同學站成一排,老師要請當中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這種一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足存在i 1 i k 使得...
合唱隊 華為機試
計算最少出列多少位同學,使得剩下的同學排成合唱隊形 說明 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足存在i 1 i k 使得t1ti 1 ...