精華區beta Marginalman 關於我們 聯絡資訊
※ 引述《oin1104 (是oin的說)》之銘言: : 題目 : 這字串能不能弄成K個回文字串 : 思路 : 一定要偶數才能弄到回文的兩邊 : 奇數只能放中間 所以不能超過k個 : class Solution { : public: : bool canConstruct(string s, int k) : { : int n = s.size(); : if(k == n )return 1; : if(k > n)return 0; : vector<int> save(26,0); : for(char k : s)save[k-'a'] ++; : int cnt = 0; : for(int i = 0 ; i < 26 ; i ++) : { : if(save[i]%2 == 1)cnt ++; : } : return cnt <= k; : } : }; 思路: 先統計各個字母個數 有兩種狀況無法達成題目要求: 1. 字母個數為奇數的數量 > k 2. s長度 < k 其他都能達成題目要求 python: class Solution: def canConstruct(self, s: str, k: int) -> bool: if len(s) < k: return False result = 0 record = [0] * 26 for c in s: record[ord(c) - ord("a")] += 1 odd = 0 even = 0 for n in record: if n % 2 == 1: odd += 1 else: even += 1 if odd > k: return False return True 應該是ㄅ 我沒想到會一次過== -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.160.111 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1736600784.A.D67.html
oin1104: 大師 01/11 21:08
※ 編輯: sustainer123 (123.194.160.111 臺灣), 01/11/2025 21:09:20