ここで詳細に説明されている配列内の多数要素を見つける方法を尋ねているわけではありません。配列内の多数要素を見つける
私の問題は以下の通りです:
配列 がありarr[1...2n]
、この配列の大部分の要素は ですmaj
。次のルールを使用して の要素を削除しますarr
。
if arr[i] == arr[i + 1]
, delete arr[i]
, i = 1, 3, 5,..., 2n - 1; それ以外の場合は、と、i = 1、3、5、...、2n - 1 のarr[i] != arr[i + 1]
両方を削除します。arr[i]
arr[i + 1]
次に、新しい配列を取得できnew_arr
、多数決要素の候補はnew_arr
です。new_maj
それを証明する証拠はありますnew_maj == maj
か?