leetcode練習03 摩爾投票法

2021-09-26 07:18:48 字數 1121 閱讀 3571

摩爾投票法適用於找出陣列中某個元素出現超過1/n(n<1且n!=0)次。

借助leetcode的第169道題練習摩爾投票法

class

solution

int count =0;

//元素出現次數

int tempnum = nums[0]

;//當前元素

for(

int i =

0; i < nums.length ; i++

)return tempnum;

}}

以及leetcode229題,不過這個是要求為超過1/3,也就是說,出現的元素個數可能是0,1,2,如果出現3個,那就沒有所謂的眾數

以下實現是參考了leetcode乙個大神

class

solution

int count1 =0;

int count2 =0;

int tempnum1 = nums[0]

;int tempnum2 = nums[0]

;for

(int i =

0; i < nums.length ; i++

)else

if(tempnum2 ==nums[i]

)else

if(count1==0)

else

if(count2==0)

else

}//判斷所選出來的元素是否滿足大於1/3,例如[3,2,3],如果沒有設立判斷,很容易就輸出為[3,2]而且要注意的是1/3*length與length/3出來的結果是不一樣的

count1=0;

count2=0;

for(

int i =

0; i < nums.length; i++)if

(tempnum2==nums[i])}

if(count1>nums.length/3)

if(count2>nums.length/

3&& tempnum1 != tempnum2)

return tempnums;

}}

關於摩爾投票練習end。

LeetCode 刻意練習03 移除元素

題目 引數列表給定乙個陣列 nums 和乙個值 val,你需要原地移除所有數值等於 val 的元素,返回值 移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。思路 遍歷陣列,如果遇到不為val的值則將其賦值給陣列第i元素,並且i 否則繼續遍歷...

leetcode筆記 1 17 摩爾投票,

陣列中佔比超過一半的元素稱之為主要元素。給定乙個整數陣列,找到它的主要元素。若沒有,返回 1。示例 1 輸入 1,2,5,9,5,9,5,5,5 輸出 5 示例 2 輸入 3,2 輸出 1 示例 3 輸入 2,2,1,1,1,2,2 輸出 2 說明 你有辦法在時間複雜度為 o n 空間複雜度為 o ...

CTF小練習 摩爾斯密碼

看到檔案後感覺是音訊隱寫用 steno後結果什麼也沒有得到。然後確定應該就是聽電報。後來發現那個ctftools 上下的集合包中其實有這個工具 開啟後看到這個還是很懵逼 200寬度的表示 50寬度的表示 距離50寬度的連讀,50寬度外的表示停頓 及前兩句為 和 對照摩爾斯密碼表 得thesecret...