1. 程式人生 > 實用技巧 >【leetcode】期望個數統計

【leetcode】期望個數統計

int qusort(int* s,int start,int end)    //自定義函式 qusort()
{
    int i,j;    //定義變數為基本整型
    i= start;    //將每組首個元素賦給i
    j = end;    //將每組末尾元素賦給j
    int k=s[start];    //設定基準值
    while(i < j)
    {
        while(i < j && k < s[j]) // 從右向左找第一個小於k的數
            j--;    //位置左移
        if(i < j)
        {
            s[i] 
= s[j]; //將s[j]放到s[i]的位置上 i++; //位置右移 } while(i < j && s[i] <= k) // 從左向右找第一個大於等於k的數 i++; //位置左移 if(i < j) { s[j] = s[i]; //將大於基準值的s[j]放到s[i]位置 j--; //位置左移 } } s[i] = k; //將基準值放入指定位置
if (start < i) qusort(s,start,j-1); //對分割出的部分遞迴呼叫qusort()函式 if (i < end) qusort(s,j+1,end); return 0; } int expectNumber(int* scores, int scoresSize){ qusort(scores,0,scoresSize-1); int count = scoresSize; for (int i=0; i<scoresSize-1; i++) {
if (scores[i] == scores[i+1]) count--; } return count; }