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

蓝桥杯 java 重复字符串

题目描述
* 如果一个字符串S恰好可以由某个字符串重复K次得到,我们就称S是K次重复字符串。
* 例如 abcabcabc 可以看作是 abc重复3次得到,所以 abcabcabc 是3次重复字符串。
* 同理 aaaaaa 既是2次重复字符串、又是3次重复字符串和6次重复字符串。
* 现在给定一个字符串S,请你计算最少要修改其中几个字符可以使S变为一个K次字符串?
* 无法修改成重复字符串就输出 -1
* 思路:
* 1:如果出现了无法修改就输出-1这种题 我们就先思考怎样会无解
* -- 那什么情况下会无解?
* --如果字符串s是k次字符串 那么s的长度就肯定是k的倍数
* --如果不是倍数 那就无解* 2:怎样才能是操作最少次?
* --寻找出现次数最多的字符 然后把其他字符全部变为出现次数最多的字符
* --比如有字符串:abcdabcdabcd  是三次字符串
* --那么第一个字符肯定就和第四个字符相同
* --那么第二个字符肯定就和第六个字符相同
* --类推
* --第一个字符串 和 1+k个字符 和1+2k个字符都要一样
* --第二个字符串 和 2+k个字符 和2+2k个字符都要一样
* --类推* 列题:比如:a b c a b c c c a 我怎么变?
* --找到出现次数最多的字符然后把其他的都变为出现最多的字符
* --这里如果变c 就只操作五次 变其他的 操作的次数就更多
package LqJava._课程代练.第三章.test6;import java.util.Arrays;
import java.util.Scanner;public class 重复字符串 {static int[] cnt = new int[26];public static void main(String[] args) {Scanner sc = new Scanner(System.in);// 是k次字符串int k = sc.nextInt();// 字符char[] s = sc.next().toCharArray();// 字符长度int n = s.length;// 无解的情况if (n % k != 0) {System.out.println(-1);return;}// 以第一个字符串 和 1+k个字符 和1+2k个字符都要一样// 我们会分为几组?是不是就是k组// 第一组就是下标0开始 第二组1 类推到最后一组就是k-1// 每一组内有t个元素int t = n / k;int ans = 0;// 1:枚举开头for (int i = 0; i < k; i++) {// cnt是全局变量 每一组要把它清空Arrays.fill(cnt,0);// 枚举组内所有的元素//  2:存元素记录大小第一个元素从第一组开始 j=i j<字符串长度 j+=k 第一个元素为j 下一个元素就是j+k 所以是j+=kfor (int j = i; j < n; j += k) {cnt[s[j] - 'a']++;}// 3:最多的字符出现的次数int max = 0;for (int j = 0; j < 26; j++) {max = Math.max(max, cnt[j]);}//ans += t - max;}System.out.println(ans);}
}

相关文章:

蓝桥杯 java 重复字符串

题目描述 * 如果一个字符串S恰好可以由某个字符串重复K次得到&#xff0c;我们就称S是K次重复字符串。 * 例如 abcabcabc 可以看作是 abc重复3次得到&#xff0c;所以 abcabcabc 是3次重复字符串。 * 同理 aaaaaa 既是2次重复字符串、又是3次重复字符串和6次重复字符串。 * 现在…...

Vue实战:两种方式创建Vue项目

文章目录 一、实战概述二、实战步骤&#xff08;一&#xff09;安装Vue CLI脚手架1、从Node.js官网下载LTS版本2、安装Node.js到指定目录3、配置Node.js环境变量4、查看node版本5、查看npm版本6、安装Vue Cli脚手架7、查看Vue Cli版本 &#xff08;二&#xff09;命令行方式构建…...

不同打包工具下的环境变量配置方式对比

本文作者为 360 奇舞团前端开发工程师 天明 前言 在现代的JavaScript应用程序开发中&#xff0c;环境变量的配置是至关重要的。不同的应用场景和部署环境可能需要不同的配置&#xff0c;例如开发、测试和生产环境。最常见的需求是根据不同的环境&#xff0c;配置如是否开启sour…...

5个99%的人可能不知道的实用程序库!

前言 作为一名前端开发者,这些 JavaScript 库极大地提高了我的工作效率,如格式化日期、处理 URL 参数和调试移动网页。朋友们,我想和你们分享这些库。 1. 使用 “Day.js” 来格式化日期和时间 链接 作为开发者,我已经厌倦了在 JavaScript 中操作日期和时间,因为它太麻烦了。…...

shell脚本,ADB

Linux命令行命令是系统内置的命令或用户自定义的脚本&#xff08;shell 脚本&#xff0c;.sh扩展名结尾&#xff09;&#xff0c;可以通过终端输入命令来执行。这些命令通常存储在Linux系统的/bin、/usr/bin、/sbin、/usr/sbin等目录下&#xff0c;也可以在$PATH环境变量中指定…...

微服务治理:微服务安全详解

微服务安全旨在保护微服务架构中每一个独立的服务。与传统单体应用程序不同&#xff0c;它们在单点应用安全措施&#xff0c;微服务由于其独立性&#xff0c;需要分布式安全方法。 为何关注微服务安全&#xff1f; 攻击面扩大: 更多服务暴露在外&#xff0c;意味着攻击者拥有…...

迅为RK3588开发板编译 Buildroot单独编译图形化界面三

第三步&#xff1a;编译 Recovery 首先在 linux 源码目录下输入以下命令进入编译的 UI 界面&#xff0c;进入之后如下所示&#xff1a; ./build.sh 然后将光标移动到第四个 recovery&#xff0c;点击回车即可开始 recovery 的编译&#xff0c;编译过程如下所示&#xff1a; 编…...

yum仓库及NFS共享

目录 一.yum仓库的基本原理 1.Yum概述&#xff1a; 2.Yum实现过程&#xff1a; 二. yum配置文件及命令&#xff1a; 1. 主配置文件&#xff1a; 2. 仓库设置文件&#xff1a; 3 .日志文件&#xff1a; ​编辑4.yum命令详解&#xff1a; 三. 搭建仓库的方式&#xff1a; …...

【Web】CTFSHOW PHP特性刷题记录(全)

知其然知其所以然&#xff0c;尽量把每种特性都详细讲明白。 目录 web89 web90 web91 web92 web93 web94 web95 web96 web97 web98 web99 web100 web101 web102 web103 web104 web105 web106 web107 web108 web109 web110 web111 web112 web113 web…...

[Docker] Docker为什么出现

Docker为什么出现 一款产品&#xff1a; 开发–上线 -->两套环境 | 应用配置 开发即运维&#xff01; 环境配置十分麻烦&#xff0c;每一个机器都要部署环境&#xff08;Redis, ES, Hadoop&#xff09; 费时费力 项目带上配置环境安装打包。 传统&#xff1a; 开发jar&…...

小程序基础学习(页面跳转传参)

目录 正向传参 原理&#xff1a;直接在url里面拼接参数即可 接受参数 ​编辑 已经跳转到的页面用onLoad函数来接受即可然后写回页面展示即可 逆向传参 原理&#xff1a;通过使用 getCurrentPages()这个方法来获取返回页面列表&#xff0c;然后再用页面.setData&#xff…...

面试经典150题(85-87)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第四十三天&#xff09;完成了3道(85-87)150&#xff1a; 85.&#xff08;77. 组合&#xff09;题目描述&#xff1a; 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可…...

【C++】“Hello World!“

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 ​ 2024.1.14 纪念一下自己编写的第一个C程序 #include<iostream>int main() {/*我的第一个C程序*/std::cout << "Hello world!:>" <<std::endl;ret…...

系统性学习vue-vue中的ajax

vue中的ajax 配置代理常用发送Ajax请求方式跨域方式一方式二 vue-resource插槽默认插槽具名插槽作用域插槽 配置代理 常用发送Ajax请求方式 xhr new XMLHttpRequest() 在真正开发中不常用&#xff0c;比较麻烦jQuery 封装了xhraxios 封装了xhr 与jQuery相比优势是&#xff1a…...

【PGSQL】date_trunc 函数

date_trunc 函数用于在 PostgreSQL 中将日期或时间戳值截断&#xff08;向下取整&#xff09;到指定的精度级别。当您想要忽略较小的时间单位&#xff08;例如&#xff0c;小时、分钟、秒&#xff09;&#xff0c;专注于较大的单位&#xff08;例如&#xff0c;天、月、年&…...

使用composer生成的DMG和PKG格式软件包有何区别

在使用Composer从包源构建软件包时候&#xff0c;有两种不同类型的包&#xff1a;PKG和DMG。你知道两者之间的区别吗? 以及如何选取吗&#xff1f; 每种格式都有各自的优势具体取决于软件包的预期用途以及用于部署软件包的工具。下面我们来了解一下PKG和DMG格式的区别和用途。…...

Linux 压缩解压

.tar &#xff08;注&#xff1a;tar是打包&#xff0c;不是压缩&#xff01;&#xff09; 解包&#xff1a;tar xvf FileName.tar -C DirName打包&#xff1a;tar cvf FileName.tar DirName .gz 解压1&#xff1a;gunzip FileName.gz解压2&#xff1a;gzip -d FileName.gz压…...

YUM仓库和NFS共享

目录 一、yum仓库 1. yum仓库介绍 1.1 简介 1.2 实现过程 1.3 实现安装服务 2. yum配置文件及命令 2.1 yum配置文件 2.1.1 yum主配置文件 2.1.2 仓库设置文件 2.1.3 日志文件 2.2 yum命令详解 2.2.1 查询 2.2.2 yum安装升级 2.2.3 软件卸载 3. 搭建仓库的方式 …...

Springboot中时间格式化

时间格式化方式 JsonFromat方式全局配置方式格式化工具方式 JsonFromat方式 前端传参或后端响应 yyyy-MM-dd HH:mm:ss 格式&#xff0c;直接属性字段上加注解 JsonFromat JsonFromat(pattern "yyyy-MM-dd HH:mm:ss", timezone "GMT8") private Date fi…...

蓝桥杯基础知识3 memset()

蓝桥杯基础知识3 memset() #include <bits/stdc.h> using namespace std;int main(){int a[5]; //随机数for(int i 0;i < 5; i)cout << a[i] << \n;cout << \n;memset(a, 0, sizeof a); //0for(int i 0;i < 5; i)cout << a[i] << …...

UserLAnd安卓Linux容器:如何在手机上运行完整Linux系统的终极指南

UserLAnd安卓Linux容器&#xff1a;如何在手机上运行完整Linux系统的终极指南 【免费下载链接】UserLAnd Main UserLAnd Repository 项目地址: https://gitcode.com/gh_mirrors/us/UserLAnd UserLAnd是一款革命性的安卓应用&#xff0c;让用户无需root权限即可在移动设备…...

ASP.NET Core 分层设计实践拒绝胖Controller

Controller 是 API 的入口,理论上应该只做三件事:接收请求、调用下层、返回响应。但在实际项目中,不少开发者会把用户校验、金额判断、业务限制条件直接写进 Controller Action,久而久之就成了所谓的"胖 Controller"。 这不只是代码整洁的问题。业务规则一旦耦合…...

5分钟快速上手:Akagi麻将AI助手完整实战指南

5分钟快速上手&#xff1a;Akagi麻将AI助手完整实战指南 【免费下载链接】Akagi 支持雀魂、天鳳、麻雀一番街、天月麻將&#xff0c;能夠使用自定義的AI模型實時分析對局並給出建議&#xff0c;內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Riichi City, Amatsuki, with…...

如何用4个PHP文件搭建跨平台音乐解析API

如何用4个PHP文件搭建跨平台音乐解析API 【免费下载链接】music-api Music API 项目地址: https://gitcode.com/gh_mirrors/mu/music-api 你是否曾为音乐平台间的会员壁垒而烦恼&#xff1f;想开发音乐应用却苦于没有统一的接口&#xff1f;music-api为你提供了完美的解…...

3步搞定日语Galgame翻译的终极方案:TsubakiTranslator完全指南

3步搞定日语Galgame翻译的终极方案&#xff1a;TsubakiTranslator完全指南 【免费下载链接】TsubakiTranslator 一款Galgame文本翻译工具&#xff0c;支持Textractor/剪切板/OCR翻译 项目地址: https://gitcode.com/gh_mirrors/ts/TsubakiTranslator 还在为看不懂日语Ga…...

AFM虚拟实验避坑指南:PID参数怎么调?相位图为何比形貌图更“敏感”?

AFM虚拟实验避坑指南&#xff1a;PID参数调节与相位图敏感性的深度解析 1. 从零开始理解AFM虚拟实验的核心逻辑 原子力显微镜&#xff08;AFM&#xff09;虚拟实验作为现代材料表征技术的重要教学工具&#xff0c;其核心价值在于让学习者无需接触昂贵设备就能掌握微观世界探测…...

谷歌 AI Studio 一下午开发三款应用,游戏体验却差强人意?

谷歌 AI Studio 助力开发应用 昨天&#xff0c;我开发出了自己的第一款 Android 应用程序&#xff0c;紧接着又做了两个&#xff0c;一个下午就完成了三款应用。其中一款应用&#xff0c;我在网页浏览器里输入 148 个单词后&#xff0c;十分钟后手机上就有了新应用。开启手机 U…...

AR/VR智能眼镜主板设计:从高通平台选型到量产调试全解析

1. 项目概述&#xff1a;从芯片到眼镜&#xff0c;一次完整的AR/VR智能眼镜主板设计之旅 最近几年&#xff0c;智能眼镜的浪潮又回来了&#xff0c;但这次不再是简单的信息提示器&#xff0c;而是真正能承载复杂应用、具备独立计算能力的VR/AR终端。我作为硬件开发的老兵&#…...

如何让抓取手机日志---ADB 从入门到实战:小米14日志抓包与连接详解

一、ADB 是什么&#xff1f; ADB 的全称是 Android Debug Bridge&#xff08;安卓调试桥&#xff09;。顾名思义&#xff0c;它就像一座桥梁&#xff0c;连接你的电脑和安卓手机。 Debug&#xff08;调试&#xff09;&#xff1a;它的核心用途是帮助开发者调试应用、分析问题。…...

别再死磕CNN了!用Python+PyTorch手把手教你搭建第一个GNN模型(附完整代码)

从零构建图神经网络&#xff1a;用PyTorch Geometric实现社交网络分析 在深度学习领域&#xff0c;卷积神经网络(CNN)和循环神经网络(RNN)已经成为了处理图像和序列数据的标准工具。但当面对社交网络、推荐系统或分子结构这类非欧几里得数据时&#xff0c;传统神经网络往往力不…...