看板 C_and_CPP 關於我們 聯絡資訊
https://i.imgur.com/gsNoiha.png
https://i.imgur.com/ZRff8qC.png
Leetcode 744. Find Smallest Letter Greater Than Target 一樣的code在 leetcode 上執行和在 VScode 執行上結果不同 自己trace過一遍覺得應該沒問題 是有 bug 嗎? 還是.....? vector<char> letters = {'c' ,'f', 'j'}; char ans; char target = 'k'; int left = 0; int right = letters.size()-1; while(left<=right){ int m = left+(right-left)/2; if(letters[m]>target){ ans = letters[m]; right = m-1; } else if(letters[m]<=target) left = m+1; } if(ans>target) cout<<ans<<endl; else cout<<letters[0]<<endl; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.10.21.68 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1625812804.A.981.html ※ 編輯: Kuba4ma (101.10.21.68 臺灣), 07/09/2021 14:55:12
ckc1ark: ans的值有可能沒更新 07/09 14:58
Kuba4ma: 謝謝一樓 ans確實沒更新 但不知道為什麼vscode會輸出c 07/09 15:09
Kuba4ma: 改成 char ans = 'a' 就可以過 leetcode了 07/09 15:10
achicn3: lower_bound 好用 07/09 17:45
ucrxzero: 自從幫檸檬羊解兩次bug都不理人我就懶得幫人解了 07/09 18:34
yao: 變數沒有預設值就去調用也算是一種coding錯誤 07/10 13:46