給出乙個長度為 n 的陣列 a,並用這個陣列生成乙個新陣列 ans[i],滿足ans=abs(a[i]-a[j])(i != j),求出陣列 ans 的中位數。
輸入要求:
多組輸入,每次輸入乙個 n ,表示有 n 個數,之後輸入乙個長度為n的序列 a。
輸出要求:
輸出新陣列ans的中位數
sample input:
413
2431
102
sample output:
1
8
int
find
(int t)
else
}return ans;
}bool
check
(int val)
return count > m;
}
#include
#include
#include
using
namespace std;
int a[
100000];
int m, n;
int ans =-1
;int
find
(int t)
else
}return ans;
}bool
check
(int val)
return count > m;
}int
main()
sort
(a, a + n)
; m = n *
(n -1)
/4;int l =
0, r = a[n -1]
- a[0]
;while
(l <= r)
else
} cout << ans << endl;
}}
LeetCode 滑動視窗中位數(二分法)
中位數是有序序列最中間的那個數。如果序列的大小是偶數,則沒有最中間的數 此時中位數是最中間的兩個數的平均數。例如 2,3,4 中位數是 3 2,3 中位數是 2 3 2 2.5 給出乙個陣列 nums,有乙個大小為 k 的視窗從最左端滑動到最右端。視窗中有 k 個數,每次視窗移動 1 位。你的任務是...
C 二分法查詢,遞迴二分法
用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...
python二分法查詢 Python 二分法查詢
二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...