牛客 String II

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

链接:https://ac.nowcoder.com/acm/contest/9715/B
来源:牛客网

给出一个仅包含小写字母的字符串s,你最多可以操作k次,使得任意一个小写字母变为与其相邻的小写字母(ASCII码差值的绝对值为1),请你求出可能的最长相等子序列(即求这个字符串修改至多k次后的的一个最长子序列,且需要保证这个子序列中每个字母相等)。

子序列:从原字符串中取任意多个字母按照先后顺序构成的新的字符串。

示例1
输入
2,"abcde"
返回值
3示例2
输入
10,"acesxd"
返回值
4

备注:

2. 解题

class Solution {
public:/*** * @param k int整型 表示最多的操作次数* @param s string字符串 表示一个仅包含小写字母的字符串* @return int整型*/int string2(int k, string s) {// write code heretypedef pair<int,int> pii;vector<int> count(26, 0);for(auto c : s)count[c-'a']++; //计数int maxlen = 0;for(int i = 0; i < 26; ++i){vector<pii> cost(26);for(int j = 0; j < 26; ++j)cost[j] = {abs(i-j), j};//cost花费, idxint num = k, len = 0;sort(cost.begin(), cost.end());//花费小的优先for(int j = 0; j < 26 && num > 0; ++j){int ct = cost[j].first;//花费int id = cost[j].second;//字符idif(count[id] == 0)//字符没有的continue;if(ct == 0)//花费为0的{len += count[id];continue;}int add = min(num/ct, count[id]);//可以拿的字符个数len += add;num -= add*ct;}maxlen = max(maxlen, len);}return maxlen;}
};

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32的RTC万年历显示问题

博客整理后写出来的,有点乱,大家见谅! 想让串口输出万年历效果.每次秒刷新一次 结果是串口软件一直输出,看起来很难受 先讲一讲C代码的\r和\n的区别 \r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉 \n 是回车&#xff0b;换行 把光标 先移到 行首 然后换到下一…

牛客 牛牛做除法II

文章目录1. 题目2. 解题1. 题目 链接&#xff1a;https://ac.nowcoder.com/acm/contest/9715/A 来源&#xff1a;牛客网 牛牛想知道在[0,n]范围中&#xff0c;选取一个最大的数x&#xff0c;满足x % a b&#xff0c;不过这个范围可能会很大&#xff0c;牛牛不知道该如何解决…

【原创】oracle的tpc-c测试及方法

大家好&#xff0c;很高兴来到博客园分享自己的所见所得。希望和大家多多交流&#xff0c;共同进步。 本文重点在于简介使用BenchmarkSQL对oracle进行tpcc的测试步骤&#xff0c;只是一个简单入门的过程。 开源测试工具&#xff1a;BenchmarkSQL。 平台&#xff1a;windows 之前…

pandas用法大全

一、生成数据表 1、首先导入pandas库&#xff0c;一般都会用到numpy库&#xff0c;所以我们先导入备用&#xff1a; import numpy as np import pandas as pd 2、导入CSV或者xlsx文件&#xff1a; df pd.DataFrame(pd.read_csv(name.csv,header1)) df pd.DataFrame(pd.read_e…

牛客 Bang! Bang!(动态规划)

文章目录1. 题目2. 解题1. 题目 链接&#xff1a;https://ac.nowcoder.com/acm/contest/9715/C 来源&#xff1a;牛客网 音游狂热爱好者牛牛接到了一个新的任务&#xff0c;那就是给一张乐谱设计重音符。每当玩家敲击重音符的时候就会发出"bang"的美妙声音!! 每一…

利用Python爬取网易上证所有股票数据(代码

import urllib.request import re##def downback(a,b,c): ## ## a:已经下载的数据块 ## b:数据块的大小 ## c:远程文件的大小 ## ## per 100.0 * a * b / c ## if per > 100 : ## per 100 ## print(%.2f%% % per) stock_CodeUrl http://…

Andorid 反编译App

转载请标明出处&#xff1a;http://blog.csdn.net/lmj623565791/article/details/23564065 开发的过程中&#xff0c;有时候可能会去使用别的app里面的图片&#xff0c;参考布局甚至代码等&#xff0c;但是一般的.apk都是经过代码混淆的&#xff0c;这里分享下使用一些工具进行…

Ubuntu Linux系统下搭建自己的Web服务器

经常被拿来当服务器的有CentOS、Ubuntu......考虑到自己只有Ubuntu的镜像并且只是自己做一些简单的测试使用&#xff0c;所以选择的版本是Ubuntu 14.04 LTS。在这个平台上搭建自己的Web服务器。 相比在Windows下的wamp集成环境&#xff0c;Linux系统下同样有LAMP&#xff0c;不…

天池 在线编程 安排面试城市(贪心)

文章目录1. 题目2. 解题1. 题目 来源&#xff1a;https://tianchi.aliyun.com/oj/210874425247820050/215397455965131520 今天有N个面试者需要面试&#xff0c;公司安排了两个面试的城市A和B&#xff0c;每一个面试者都有到A城市的开销costA和到B城市的开销costB。 公司需要…

别用symbolicatecrash来解析crash Log了

今天突然发现了一个解析iOS crash log的好方法&#xff0c;忍不住来分享一下。 相信每个做iOS开发的TX都应该不会对symbolicatecrash陌生&#xff0c;我们第一次遇到真机上产生的崩溃日志时&#xff0c;在网上搜到的大部分教程都告诉我们说要用symbolicatecrash来解析crash log…

天池 在线编程 捡胡萝卜(模拟)

文章目录1. 题目2. 解题1. 题目 来源&#xff1a;https://tianchi.aliyun.com/oj/210874425247820050/215397455965131519 给定一个n * m 的矩阵 carrot, carrot[i][j] 表示(i, j) 坐标上的胡萝卜数量。 从矩阵的中心点出发&#xff0c;每一次移动都朝着四个方向中胡萝卜数量…

VMware中ubuntu虚拟机与windows的端口映射,共享一个IP地址

在ubuntu虚拟机中&#xff0c;运行了meteor的后台程序&#xff0c;需要终端进行连接&#xff0c;需要进行ubuntu虚拟机与windows的端口映射&#xff08;虚拟机与主机共享IP地址&#xff09;。 下面为设置步骤&#xff1a; 1.点击编译&#xff0c;虚拟网络编辑器2.在虚拟网络编辑…

LeetCode 1678. 设计 Goal 解析器

文章目录1. 题目2. 解题1. 题目 请你设计一个可以解释字符串 command 的 Goal 解析器 。 command 由 "G"、"()" 和/或 "(al)" 按某种顺序组成。 Goal 解析器会将 “G” 解释为字符串 “G”、 “()” 解释为字符串 “o” &#xff0c; “(al)” …

Go 变量和常量

最近在看Go相关的书籍&#xff0c;看到go相关的语法&#xff0c;非常的简洁和亮眼&#xff0c;就准备学习一下相关的资料&#xff0c;将自己看到的书籍记录一下笔记&#xff0c;补充一下工作之余的相关知识。先开始Go的语法 一:变量 1.0&#xff1a;变量申明 var a int //定义一…

Jmeter使用入门

Jmeter简介Jmeter的基本概念百度百科&#xff1a;Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试&#xff0c;但后来扩展到其他测试领域。 它可以用于测试静态和动态资源&#xff0c;例如静态文件、Jav…

阿里云 Windows Server 2022 安装 Docker

阿里云Windows Server 2022 安装 Docker 文章目录 情景尝试正解 安装Docker管理工具安装Docker重启系统配置Docker系统路径配置Docker引擎(也许不用)启动Docker服务 情景 情景&#xff1a;最近一直在搞微服务&#xff0c;团队的服务器是阿里云的 Windows Server 2022&…

LeetCode 1679. K 和数对的最大数目(哈希)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums 和一个整数 k 。 每一步操作中&#xff0c;你需要从数组中选出和为 k 的两个整数&#xff0c;并将它们移出数组。 返回你可以对数组执行的最大操作数。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,4], k 5 输…

android第二十步摄像

MediaRecorder摄像类 recorder new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC);音频取自麦克 recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);视频取自摄像机 recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);/…

正则表达式之 贪婪与非贪婪模式详解

1 概述 贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为&#xff0c;贪婪模式在整个表达式匹配成功的前提下&#xff0c;尽可能多的匹配&#xff0c;而非贪婪模式在整个表达式匹配成功的前提下&#xff0c;尽可能少的匹配。非贪婪模式只被部分NFA引擎所支持。 属于贪婪…

LeetCode 1680. 连接连续二进制数字(位运算)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n &#xff0c;请你将 1 到 n 的二进制表示连接起来&#xff0c;并返回连接结果对应的 十进制 数字对 10^9 7 取余的结果。 示例 1&#xff1a; 输入&#xff1a;n 1 输出&#xff1a;1 解释&#xff1a;二进制的 "1"…