精華區beta Marginalman 關於我們 聯絡資訊
媽啦 看懂了 東西全部擠在一起誰他媽看得懂 class Solution { public: char findKthBit(int n, int k) { if(k & 1){ // k is odd // val: 0, 1, 0, 1, 0, ... // idx: 1, 3, 5, 7, 9, ... // >>1: 0, 1, 0, 1, return '0' + ((k >> 1) & 1) ; } // lowbit = k & -k = pow(2) // num = odd * lowbit k /= (k & -k); return '1' - ((k >> 1) & 1) ; } }; 可以觀察到這個規律是鬼吧== 我還是乖乖翻來翻去好了 ※ 引述《sixB (6B)》之銘言: : 我吐了 : 數學解看不懂 : 太秀惹:( : 我只會翻來翻去了 : 這他媽到底在幹嘛啦Qaq : 一行?O(1) ? : char findKthBit(int n, int k) { : return '0' + (k / (k & -k) >> 1 & 1) ^ (k & 1 ^ 1); : } : ※ 引述《JIWP (神楽めあ的錢包)》之銘言: : : 1545. Find Kth Bit in Nth Binary String : : 給兩個整數n、k : : S_n的二元字串定義為下 : : S_1 = "0" : : S_i = S_i-1 + "1" + reverse(invert(s_i-1)) for i>1 -- 很姆的咪 姆之咪 http://i.imgur.com/5sw7QOj.jpg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.121.194 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1729312308.A.96A.html