演算法每日一題 07 31

2021-10-08 17:23:54 字數 939 閱讀 6431

魔術索引。 在陣列a[0…n-1]中,有所謂的魔術索引,滿足條件a[i] = i。給定乙個有序整數陣列,編寫一種方法找出魔術索引,若有的話,在陣列a中找出乙個魔術索引,如果沒有,則返回-1。若有多個魔術索引,返回索引值最小的乙個。

示例1:

輸入:nums = [0, 2, 3, 4, 5]

輸出:0

說明: 0下標的元素為0

示例2:

輸入:nums = [1, 1, 1]

輸出:1

class

solution

return-1

;}};

這個題也是相當簡單了

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。

你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。

示例:

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

//暴力求解,時間複雜度o(n2)

class

solution

}return ans;}}

;//利用雜湊函式,時間複雜度o(n)

class

solution;}

map.

put(nums[i]

, i);}

throw

newillegalargumentexception

("no two sum solution");

}}2/

演算法每日一題 08 03

給定兩個字串形式的非負整數 num1 和num2 計算它們的和。注意 num1 和num2 的長度都小於 5100.num1 和num2 都只包含數字 0 9.num1 和num2 都不包含任何前導零。你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式。class s...

演算法每日一題 08 08

題目 include using namespace std define maxn 200010 int ton maxn in maxn 存拓撲序和入度 struct node int n,m queue int q vectorask 存無向邊 vectorans 存結果 vector int...

演算法每日一題 08 19

題目鏈結 乍一看以為要排序,竟然是個思維題。include using namespace std 將和盡量變大,這樣才能盡可能的短 int main if flag true cout 1 endl else cout n endl return0 這個題寫的沒錯,可是總是在乙個測試樣例中超時,可...