首页 > 其他分享 >791. 自定义字符串排序

791. 自定义字符串排序

时间:2022-11-13 14:46:03浏览次数:55  
标签:自定义 791 iter 字符串 排序 order string

791. 自定义字符串排序

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

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

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

  • 输入: order = "cba", s = "abcd"
  • 输出: "cbad"
  • 解释:
  • “a”、“b”、“c”是按顺序出现的,所以“a”、“b”、“c”的顺序应该是“c”、“b”、“a”。
    因为“d”不是按顺序出现的,所以它可以在返回的字符串中的任何位置。“dcba”、“cdba”、“cbda”也是有效的输出。
class Solution {
public:
    map<char,int>dict;
    map<char,int>dict2;
    string res;

    string customSortString(string order, string s) {
        res="";
        for(int i=0;i<s.size();i++)    dict[s[i]]++;
        for(int i=0;i<order.size();i++)    dict2[order[i]]++;
        /*map<char,int>::iterator iter;
        for(iter=dict.begin();iter!=dict.end();iter++){
            cout<<iter->first<<":"<<iter->second<<endl;
        }*/
        for(auto ch:order){
            while(dict.count(ch)&&dict[ch]){
                res+=ch;
                dict[ch]--;
            }
        }
        for(char ch:s){
            if(!dict2.count(ch)){
                res+=ch;
            }
        }
        return res;
    }
};

标签:自定义,791,iter,字符串,排序,order,string
From: https://www.cnblogs.com/SkyDusty/p/16885930.html

相关文章

  • 791. 自定义字符串排序 ----- 自定义sort、权值排序、计数排序
    给定两个字符串order和s。order的所有单词都是唯一的,并且以前按照一些自定义的顺序排序。对s的字符进行置换,使其与排序的 order 相匹配。更具体地说,如果在 or......
  • Java:自定义排序与sort()函数
    自定义排序与Arrays.sort()本篇题目来源:2022/11/13Leetcode每日一题:https://leetcode.cn/problems/custom-sort-string给定两个字符串order和s。order的所有单词都......
  • 怎么封装一个vue的自定义指令
    自定义指令分为全局和局部的指令;1.自定义全局指令:在mian.js中,使用Vue.directive(‘指令名’, 配置对象)2.局部自定义指令在组件中使用directives......
  • 排序专题
    快速排序#include<bits/stdc++.h>usingnamespacestd;inta[5]={5,1,2,4,3};intpartition(intbegin,intend){intpivot=begin-1;for(inti......
  • 第四十五章 开发自定义标签 - 规则和操作
    第四十五章开发自定义标签-规则和操作CSP允许你开发自定义的HTML标签用于CSP文件。CSP标记语言本身是使用自定义标记机制实现的。自定义标签提供了一种方式:使用熟悉......
  • 自定义标记
    目录介绍注册标记使用标签介绍自定义标记首先要在pytest.ini文件当中注册也可以通过fixture注册,不注册的话不影响使用但是执行的时候就会有警告注册标记#pytest.in......
  • 堆排序用法
    因为堆结构只保证根节点比双子节点都大或小1  求最小的n个数:   构建n个数的大顶堆,依次弹出堆顶再往下调整(用例省略)2  求最大的n个数:   构建n个数的......
  • 快速排序需要注意的问题
    1  左右哨兵等于pivot的情况要接着走,不然有可能一直不动,无限循环2  需要先走右指针再走左指针,因为pivot在最左侧,最终停留点应该比pivot小,这样交换后小的在前; ......
  • 第二章--使用自定义类
    代码:publicclassClassAndObjectTest{ publicstaticvoidmain(String[]args) { //创建类的实例,定义一个对象变量引用这一实例 MyClassobj=newMyClass(); //......
  • #yyds干货盘点# 前端歌谣的刷题之路-第一百六十四题-快速排序
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了......