前言
工作了十几年,从平凡的研发工程师一路成长为研发司理、研发总监。邻近40岁,本想辞职后换一个相对稳固的工作环境不停干到老, 没想到去职后三个多月了还没找到工作,愁肠百结。为了让自己有点事情做,也算提高一下自己的编程能力,无聊之余打算用一些大厂的编程题练练手。希望通过这些分享可以或许帮到一些人,也希望能和看到此文的大神们沟通交流,提升自己,更希望在此期间可以或许找到一份理想的工作。
题目描述
给定一个非空字符串S,其被N个‘-’分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用‘-’分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的全部大写字母转换为小写字母;反之,如果它含有的大写字母比小写字母多,则将这个子串的全部小写字母转换为大写字母;大小写字母的数目相等时,不做转换。
输入
输入为两行,第一活动参数K,第二活动字符串S。
输出
输出转换后的字符串。
示例
示例1
输入
3
12abc-abCABc-4aB@
输出
12abc-abc-ABC-4aB-@
说明
子串为12abc、abCABc、4aB@,第一个子串保留,背面的子串每3个字符一组为abC、ABc、4aB、@,abC中小写字母较多,转换为abc,ABc中大写字母较多,转换为ABC,4aB中大小写字母都为1个,不做转换,@中没有字母,连起来即12abc-abc-ABC-4aB-@
示例2
输入
12
12abc-abCABc-4aB@
输出
12abc-abCABc4aB@
说明
子串为12abc、abCABc、4aB@,第一个子串保留,背面的子串每12个字符一组为abCABc4aB@,这个子串中大小写字母都为4个,不做转换,连起来即12abc-abCABc4aB@
题解
Java实现
- package huawei.e100;
- import java.util.Scanner;
- /**
- * @author arnold
- * @date 2024年12月21日
- * 字符串分割
- */
- public class T32 {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- while(sc.hasNext()) {
- int index = sc.nextInt();
- sc.nextLine();
- String str = sc.nextLine();
- String res = run(str, index);
- System.out.println(res);
- }
- }
-
- static String run(String str, int k) {
- String[] tmps = str.split("-");
- StringBuilder sb = new StringBuilder();
- sb.append(tmps[0]);
-
- StringBuilder sb1 = new StringBuilder();
- for (int i = 1; i < tmps.length; i++) {
- sb1.append(tmps[i]);
- }
- String newStr = sb1.toString();
- int num = newStr.length()/k +1;
- for (int i = 0; i < num; i++) {
- String item = newStr.substring(k*i, Math.min(k*i + k, newStr.length()));
- int low = 0, up = 0;
- for (int j = 0; j < item.length(); j++) {
- if(item.charAt(j) >= 'a' && item.charAt(j) <= 'z') {
- low ++;
- } else if(item.charAt(j) >= 'A' && item.charAt(j) <= 'Z') {
- up ++;
- }
- }
- if (up > low) {
- sb.append("-").append(item.toUpperCase());
- } else if (up == low) {
- sb.append("-").append(item);
- } else {
- sb.append("-").append(item.toLowerCase());
- }
- }
- return sb.toString();
- }
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |