首页 > 其他分享 >【1113】

【1113】

时间:2022-11-14 11:36:46浏览次数:35  
标签:ch int ++ 1113 ans freq order

791. 自定义字符串排序     中等     相关企业

给定两个字符串 order 和 s 。order 的所有单词都是 唯一 的,并且以前按照一些自定义的顺序排序。

对 s 的字符进行置换,使其与排序的 order 相匹配。更具体地说,如果在 order 中的字符 x 出现字符 y 之前,那么在排列后的字符串中, x 也应该出现在 y 之前。

返回 满足这个性质的 s 的任意排列 

 

示例 1:

输入: order = "cba", s = "abcd"
输出: "cbad"
解释: 
“a”、“b”、“c”是按顺序出现的,所以“a”、“b”、“c”的顺序应该是“c”、“b”、“a”。
因为“d”不是按顺序出现的,所以它可以在返回的字符串中的任何位置。“dcba”、“cdba”、“cbda”也是有效的输出。

示例 2:

输入: order = "cbafg", s = "abcd"
输出: "cbad"

 

提示:

  • 1 <= order.length <= 26
  • 1 <= s.length <= 200
  • order 和 s 由小写英文字母组成
  • order 中的所有字符都 不同

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 1 class Solution {
 2     public String customSortString(String order, String s) {
 3 int[] freq = new int[26];
 4         for (int i = 0; i < s.length(); ++i) {
 5             char ch = s.charAt(i);
 6             ++freq[ch - 'a'];
 7         }
 8         StringBuilder ans = new StringBuilder();
 9         for (int i = 0; i < order.length(); ++i) {
10             char ch = order.charAt(i);
11             while (freq[ch - 'a'] > 0) {
12                 ans.append(ch);
13                 freq[ch - 'a']--;
14             }
15         }
16         for (int i = 0; i < 26; ++i) {
17             while (freq[i] > 0) {
18                 ans.append((char) (i + 'a'));
19                 freq[i]--;
20             }
21         }
22         return ans.toString();
23 
24 
25     }
26 }

 

标签:ch,int,++,1113,ans,freq,order
From: https://www.cnblogs.com/wzxxhlyl/p/16888459.html

相关文章

  • Solution Set -「NOIP Simu.」20221113
    \(\mathscr{A}\sim\)游戏  Cover:「ARC087E」Prefix-freeGame.  Tags:「A.博弈-SG函数」「A.数据结构-Trie」  想了半天(\(\ge15~\text{min}\))怎么表述一......
  • 20221113_T2A_背包贪心
    题意Steve的城堡正在被大量的怪物袭击。共有\(n\)个怪物正在袭击城堡,第\(i\)个怪物的攻击力为\(a_i\),防御力为\(b_i\)。城内有\(m\)个怪物猎人,第\(j\)个怪物......
  • L10U5-3 Dealing with an employee's problem 20221113
    ExpressionsProblemsbehaviorDescribingproblembehavioronthejobUsetheseexpressionstoaskaboutanddescribeproblembehavioronthejob.A.What'sup?......
  • 20221113_T1A-_并查集
    题意在一个文件目录下有\(n\)个不同的文件,每个文件都有一个文件名,其中第\(i\)个文件的文件名为\(s_i\)。这些文件名两两不同。小C希望更改一部分文件的文件名,他......
  • 20221113 star模拟赛 随记
    Explo依次考虑是否取\(n\)个物品,初始有权值\(p=w\),以及常数\(k,c\)。物品分为两类,对于第\(i\)个物品:若为第一类,则选择第\(i\)个物品会得到\(a_i\timesp\)的......
  • L10U4-4 Closing a presentation 20221113
    1ReadingEffectiveconclusionsUsingsubheadingstounderstandatextAtextusuallyhasatitle(title),butwritersoftenaddsubheadings(subheadings)too......
  • AcWing 1113. 红与黑
    蒟蒻只会暴搜了要点是先找到起点,从起点开始向各个方向搜DFS:(DFS当然也可以用for(inti=0;i,4;i++)来搜索四个方向,这里是个人习惯)#include<iostream>#include<cstring......