<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          自定義字符串排序

          共 1585字,需瀏覽 4分鐘

           ·

          2022-11-22 21:01

          ?? 本題Leetcode 鏈接[1]

          題目說明

          給定兩個字符串 ordersorder 的所有字母都是 唯一 的,并且以前按照一些自定義的順序排序。

          s 的字符進行置換,使其與排序的 order 相匹配。更具體地說,如果在 order 中的字符 x 出現(xiàn)字符 y 之前,那么在排列后的字符串中, x 也應(yīng)該出現(xiàn)在 y 之前。

          返回 滿足這個性質(zhì)的 s 的任意一種排列。

          輸入輸出

          • 示例 1:

            • 輸入: order = "cba", s = "abcd"
            • 輸出: "cbad"
            • 解釋: “a”、“b”、“c”是按順序出現(xiàn)的,所以“a”、“b”、“c”的順序應(yīng)該是“c”、“b”、“a”。因為“d”不是按順序出現(xiàn)的,所以它可以在返回的字符串中的任何位置。“dcba”、“cdba”、“cbda”也是有效的輸出。
          • 示例 2:

            • 輸入: order = "cbafg", s = "abcd"
            • 輸出: "cbad"

          解題思路

          • 使用 map 統(tǒng)計 s 中字符出現(xiàn)的次數(shù)
          • 按照 order 順序遍歷并返回所有符合要求的字符串,多個相同的字符串直接 repeat 其數(shù)量即可
          • 繼續(xù)遍歷字符串 s,對于 order 中不存在的字符直接拼接在其后返回

          代碼實現(xiàn)

          function customSortString(order: string, s: string): string {
            let res = '', map = new Map<stringnumber>()

            for(let char of s) {
                if(map.has(char)) {
                    map.set(char, map.get(char)! + 1)
                } else {
                    map.set(char, 1)
                }
            }

            for(let char of order) {
                if(map.has(char)) res += char.repeat(map.get(char)!)
            }
            
            for(let char of s) {
                if(order.indexOf(char) === -1) res += char
            }

            return res
          };

          參考資料

          [1]

          ?? 本題Leetcode 鏈接: https://leetcode.cn/problems/custom-sort-string/


          瀏覽 62
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青娱乐免费视频在线观看 | 婷婷精品国产a久久综合 | 国产黄色视频免费在线观看 | 婷婷精品国产亚洲AV老牛 | 日韩精品一区二区亚洲AV观看 |