精華區beta Marginalman 關於我們 聯絡資訊
※ 引述《Rushia (みけねこ的鼻屎)》之銘言: : https://leetcode.com/problems/custom-sort-string/description : 791. Custom Sort String : 給你一個字串s和一個表示字元排序優先的字串order,排序字串s,如果字元不在 order : 的話順序隨意。 : 思路: : 1.創建一個基於order索引的comparator丟給排序函數 : py code : ---------------------------------------------- : class Solution: : def customSortString(self, order: str, s: str) -> str: : dic = collections.defaultdict(lambda: ord(c) + 26) : for i, c in enumerate(order): : dic[c] = i : return ''.join(sorted(s, key=lambda x: dic[x])) : ---------------------------------------------- 差不多思路 先建order map 然後把str變成Vec比對order map 不在order map就塞後面 最後拼回來 use std::collections::HashMap; impl Solution { pub fn custom_sort_string(order: String, s: String) -> String { let mut order_map = HashMap::new(); for (index, ch) in order.chars().enumerate(){ order_map.insert(ch, index); } let mut sorted_str: Vec<_> = s.chars().collect(); sorted_str.sort_by_key(|&ch| order_map.get(&ch) .unwrap_or(&usize::MAX)); sorted_str.iter().collect() } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.249.242 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1710165769.A.1E5.html