作者DJYOMIYAHINA (通通打死)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Mon Jun 23 22:48:33 2025
本肥連寫個回文都寫一坨屎
我有點焦慮了==
def kMirror(self, k: int, n: int) -> int:
def to_base_k(num, k):
if num == 0:
return "0"
digits = []
while num > 0:
remainder = num % k
if remainder < 10:
digits.append(str(remainder))
else:
digits.append(chr(ord('a') + remainder - 10))
num //= k
return ''.join(reversed(digits))
def kth_palin(kk) -> int:
# k-th palin (start from 1)
length = 1
count = 0
while True:
half_len = (length+1)//2
start = 10**(half_len-1)
end = 10**half_len
if count + end - start >= kk:
half = start + kk - count - 1
if length%2 == 0:
return int(str(half)+str(half)[::-1])
else:
return int(str(half)+str(half)[:-1][::-1])
else:
count += (end-start)
length += 1
cnt = 0
cur_sum = 0
for i in range(n):
while True:
cnt += 1
cur_10 = kth_palin(cnt)
cur_k = to_base_k(cur_10, k)
if cur_k == cur_k[::-1]:
cur_sum += cur_10
if i==(n-1):
return cur_sum
else:
break
return -1
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.58.28 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1750690115.A.392.html
推 JIWP: 你怎麼還在捲 06/23 22:48
推 osopopototo: 差點忘了寫 謝謝你 06/23 23:35
→ DJYOMIYAHINA: 別捲了 06/24 00:15