演算法之旅1(簡單篇)

2021-10-05 05:23:47 字數 668 閱讀 1909

給定乙個包含 n + 1 個整數的陣列 nums,其數字都在 1 到 n 之間(包括 1 和 n),可知至少存在乙個重複的整數。假設只有乙個重複的整數,找出這個重複的數。預設不能更改原陣列(假設陣列是唯讀的)

class

solution

}return-1

;}}

主要思路:

n+1大小的陣列裡的數字範圍為1-n,則必然有重複的數(題幹預設只有乙個重複的數)

每個數字相當於人,有自己的身份證,也就是位置 i,那麼只需要找到 i就行

讓所有數字與其後面的數字相比較,如**中的雙迴圈,當相等時,返回nums[i]

擴充套件:return 0:一般用在主函式結束時,按照程式開發的一般慣例,表示成功完成本函式。

return -1::表示返回乙個代數值,一般用在子函式結尾。按照程式開發的一般慣例,表示該函式失敗;

以上兩個是約定俗成,系統提供的函式絕大部分定義為int型別返回值的都是這樣的。返回值是返回給系統用的,給系統看。一般做除錯的時候也會用的,當出現錯誤的時候可以根據返回值來確定問題出在哪乙個函式上的

arrays.sort(int a)函式,對陣列進行從小到大排序,預設字典序排序(ascii),用該函式排序後可以不用雙迴圈

演算法 簡單篇

演算法分析 設n 尾部0的數量的函式為f n 易得尾部0的數量由n!中2和5的因數數量決定,因為2的因數很多很多,故只需要考慮有幾個5 f 1 0 f 2 0 f 3 0 f 4 0 f 5 1 f n 5k 5 k 1 5 k 2 5 1 a 其中k,a是正整數,且a不能被5整除 5 k a k ...

leetcode刷題之旅簡單篇(2)整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 class solution return rev 整數反轉的過程可以模擬於堆疊後進先出的操作,在不使用堆疊的情況下...

Mybatis學習簡單篇

mybatis配置檔案 configuration propertiesresource resource database.properties environmentsdefault development environmentid development transactionmanager...