原创 力扣OJ 面試題 05.04. 下一個數

下一個數。給定一個正整數,找出與其二進制表達式中1的個數相同且大小最接近的那兩個數(一個略大,一個略小)。 示例1:  輸入:num = 2(或者0b10)  輸出:[4, 1] 或者([0b100, 0b1]) 示例2:  輸入:num

原创 ACM模板(5)整數相關計算

//二進制中1的個數 //把整數轉化爲字符串 //把字符串轉化爲整數 //二進制中1的個數 int hammingWeight(int n) { int ans = 0; while (n) { n ^= (n&(-n));

原创 ACM總結——庫函數(2)C標準庫stdlib

1,字符串轉爲整數 1 double atof(const char *str) 把參數 str 所指向的字符串轉換爲一個浮點數(類型爲 double 型)。 2 int atoi(const char *str) 把參數 s

原创 ACM總結——庫函數(1)STL算法函數

1,全排列 next_permutation 下一個全排列 prev_permutation 上一個全排列 返回值是bool類型,表示操作成功或者操作失敗(沒有上一個或下一個全排列) char sn[40]; next_permutat

原创 電梯控制算法(1)單電梯場景——簡單掃描算法

電梯系列,自然要從最簡單的單電梯場景開始。   1,電梯狀態 電梯狀態可以分爲空閒、開門、上下移動三個狀態,爲了便於理解,我們可以忽略開門狀態。 也就是說,電梯分爲空閒狀態和移動狀態。   2,樓層 一般有2種,一種是1~n層,沒有地下,

原创 力扣周賽 1488. 避免洪水氾濫(min型線段樹)

你的國家有無數個湖泊,所有湖泊一開始都是空的。當第 n 個湖泊下雨的時候,如果第 n 個湖泊是空的,那麼它就會裝滿水,否則這個湖泊會發生洪水。你的目標是避免任意一個湖泊發生洪水。 給你一個整數數組 rains ,其中: rains[i]

原创 力扣周賽 1487. 保證文件名唯一

給你一個長度爲 n 的字符串數組 names 。你將會在文件系統中創建 n 個文件夾:在第 i 分鐘,新建名爲 names[i] 的文件夾。 由於兩個文件 不能 共享相同的文件名,因此如果新建文件夾使用的文件名已經被佔用,系統會以 (k)

原创 力扣周賽 1486. 數組異或操作

給你兩個整數,n 和 start 。 數組 nums 定義爲:nums[i] = start + 2*i(下標從 0 開始)且 n == nums.length 。 請返回 nums 中所有元素按位異或(XOR)後得到的結果。   示例

原创 力扣OJ 劍指 Offer 06. 從尾到頭打印鏈表

輸入一個鏈表的頭節點,從尾到頭反過來返回每個節點的值(用數組返回)。   示例 1: 輸入:head = [1,3,2] 輸出:[2,3,1]   限制: 0 <= 鏈表長度 <= 10000   //翻轉vector template

原创 力扣OJ 劍指 Offer 03. 數組中重複的數字

找出數組中重複的數字。 在一個長度爲 n 的數組 nums 裏的所有數字都在 0~n-1 的範圍內。數組中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出數組中任意一個重複的數字。 示例 1: 輸入: [2

原创 C/C++ qsort/sort函數性能測試

1,c++ sort函數,比較函數直接return 0或者1 int cmp(int a, int b) { return 1; } #define p 2 int ns[p]; int main() { c

原创 力扣OJ 556. 下一個更大元素 III (整數和字符串互相轉化)

給定一個32位正整數 n,你需要找到最小的32位整數,其與 n 中存在的位數完全相同,並且其值大於n。如果不存在這樣的32位整數,則返回-1。 示例 1: 輸入: 12 輸出: 21 示例 2: 輸入: 21 輸出: -1   char

原创 力扣OJ 1358. 包含所有三種字符的子字符串數目

給你一個字符串 s ,它只包含三種字符 a, b 和 c 。 請你返回 a,b 和 c 都 至少 出現過一次的子字符串數目。   示例 1: 輸入:s = "abcabc" 輸出:10 解釋:包含 a,b 和 c 各至少一次的子字符串爲

原创 二分編譯

背景: 在大型項目開發過程中,編譯一次可能就需要半個小時甚至更久。 編譯失敗的時候主要是看報錯信息,如果實在找不到報錯信息,或者說真的就沒有報錯信息,而改動點比較多比較分散,如何手動定位出錯代碼呢?   1,修改點劃分 我們把修改點按照合

原创 力扣OJ 劍指 Offer 05. 替換空格

請實現一個函數,把字符串 s 中的每個空格替換成"%20"。   示例 1: 輸入:s = "We are happy." 輸出:"We%20are%20happy."   限制: 0 <= s 的長度 <= 10000   遞歸寫法比較