news 2026/6/23 20:39:14

leetcode 767. Reorganize String 重构字符串-耗时100%

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 767. Reorganize String 重构字符串-耗时100%

Problem: 767. 重构字符串

解题过程

耗时100%,优先队列的,也就是堆的,先统计字符个数,然后放入队列中,最后拿到堆顶的字符和个数,放入结果字符串,计数-1,pop堆顶,pre = tmp,然后放入下一个字符串,之前堆顶的保存在pre中,放完下一个字符,然后将pre再次放到队列,做到拿一个,隔一个放回去,保证结果字符相邻的不相同,优先放置数量多的字符,数量少的放在中间

Code

using pr = pair<int, char>; class Solution { public: int ch[26]; string reorganizeString(string s) { priority_queue<pr, vector<pr>, less<pr>> pq; memset(ch, 0, sizeof(ch)); for(char& c : s) { ch[ c - 'a' ]++; } for(int i = 0; i < 26; i++) { if(ch[i]!=0) { pq.push({ch[i], i + 'a'}); } } pr tmp, pre={-100000,'a'}; string ret; while(!pq.empty()) { tmp = pq.top(); ret += tmp.second; // if(ret.size() > 1 && ret.back()==ret[ret.size()-2]) { // return ""; // } tmp.first--; pq.pop(); if(pre.first > 0) { pq.push(pre); } pre = tmp; } if(pre.first > 0) return ""; return ret; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 12:12:07

【总结】【数据结构】【OS】【计组】【计网】

目录 数据结构 OS 计组 计网 数据结构 【总结】【数据结构】排序-CSDN博客 【总结】【数据结构】树、二叉树、森林转化_森林的中序遍历对应二叉树的-CSDN博客 【总结】【数据结构】算法BFS、DFS、Dijkstral、Floyd、排序算法等-CSDN博客 【数据结构】败者树、B树、排序…

作者头像 李华
网站建设 2026/6/23 19:55:02

小程序毕设项目:基于springboot+微信小程序的大学生餐厅点餐系统小程序(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/23 19:36:54

零基础IM开发入门:什么是IM聊天系统的端到端加密?

本文接上篇《什么是IM系统的消息时序一致性&#xff1f;》&#xff0c;本篇将通俗易懂地讲解IM系统中的端到端加密原理&#xff0c;为了降低阅读门槛&#xff0c;相关的技术概念会提及但不深入展开。 IM即时通讯系统的技术本质是“即时消息技术”&#xff0c;是互联网实时互动…

作者头像 李华
网站建设 2026/6/23 18:23:28

MyBatis批量插入从5分钟优化到3秒,我做了这3件事

上周接了个数据迁移的活&#xff0c;要把10万条数据从老系统导入新系统。 写了个简单的批量插入&#xff0c;跑起来一看——5分钟。 领导说太慢了&#xff0c;能不能快点&#xff1f; 折腾了一下午&#xff0c;最后优化到3秒&#xff0c;记录一下过程。最初的代码&#xff08;5…

作者头像 李华