当前位置: 首页 > news >正文

字符最大间隔排列

B-完美串_牛客挑战赛79

思路:

代码:

    string s;
    cin>>s;
    array<int,26> cnt={0};
    for(auto c: s){
        ++cnt[c-'a'];
    }
    int n=s.size();
    auto check=[&](int x){
        auto c=cnt;
        array<int,26> lst;
        lst.fill(-x);
        for(int i=0; i<n; i++){
            int id=-1;
            for(int j=0; j<26; j++){
                if(c[j] && i-lst[j]>=x &&( id==-1 || c[j]>c[id])){
                    id=j;
                }
            }
            if(id==-1){
                return false;
            }
            --c[id], lst[id]=i;
        }
        return true;
    };
    for(int x= min(n,26); x>=1; x--){
        if(check(x)){
            cout<<x<<'\n';
            array<int,26> lst;
            lst.fill(-x);
            for(int i=0; i<n; i++){
                int id=-1;
                for(int j=0; j<26; j++){
                    if(cnt[j] && i-lst[j]>=x && (id==-1 || cnt[j]>cnt[id])){
                        id=j;
                    }
                }
                --cnt[id], lst[id]=i;
                cout<<char(id+'a');
            }
            cout<<'\n';
            break;
        }
    }

http://www.dtcms.com/a/65733.html

相关文章:

  • C++程序员职业规划
  • MySQL与Redis的缓存一致性问题
  • python-leetcode-删除链表的倒数第 N 个结点
  • 批量将 Excel 文档中的图片提取到文件夹
  • MySQL -- 数据类型
  • Java 枚举
  • SpringBoot自动装配的工作原理
  • python-docx - 读写更新 .docx 文件(Microsoft Word 2007+ )
  • Django系列教程(7)——路由配置URLConf
  • SpringBoot 入门基础
  • OBS推WebRTC流,并添加毫秒级时间显示
  • 【C++11】auto decltype nullptr
  • C++ 函数重载
  • 【Linux篇】进程状态(僵尸进程,孤儿进程),优先级与调度机制
  • BUUCTF逆向刷题笔记(13-?)持续更新
  • 【leetcode hot 100 24】两两交换链表中的节点
  • vulnhub-DC-9 SQL注入、“ssh端口敲门”、hydra爆破
  • 题解:AT_arc093_b [ABC092D] Grid Components
  • Python规则引擎DIY:从零开始构建规则引擎
  • Linux》》Ubuntu22.04下Docker的安装 Docker
  • 【VS】vs生成前事件,复制脚本文件至运行目录
  • Python Numpy面试题及参考答案 草
  • Prompt 工程
  • MySQL中IN关键字与EXIST关键字的比较
  • JAVA:利用 Jsoup 轻松解析和操作 HTML 的技术指南
  • 展望 AIGC 前景:通义万相 2.1 与蓝耘智算平台共筑 AI 生产力高地
  • 如何在Android中实现SQLite数据库操作
  • 【设计模式】设计模式介绍
  • 力扣热门100题【525,1314】
  • 数字隔离器,如何提升储能系统的安全与效能?