您的位置:首页 > 游戏 > 游戏 > 好的网站和网页有哪些_百度seo运营工作内容_湖南网站网络推广哪家奿_网络培训

好的网站和网页有哪些_百度seo运营工作内容_湖南网站网络推广哪家奿_网络培训

2025/4/18 19:26:30 来源:https://blog.csdn.net/weixin_65528013/article/details/147102332  浏览:    关键词:好的网站和网页有哪些_百度seo运营工作内容_湖南网站网络推广哪家奿_网络培训
好的网站和网页有哪些_百度seo运营工作内容_湖南网站网络推广哪家奿_网络培训

一.反转字符串II

1.题目链接

541. 反转字符串 II - 力扣(LeetCode)

2.思路

  1. 循环分组定位:使用 for 循环,每2k为一组i 每次增加 2k ,就相当于定位到下一组字符的起始位置。在每次循环中,确定当前组需要反转部分的起始索引 start(即当前循环的起始位置 i )和末尾索引 end 。
  2. 确定反转范围用 Math.min(ch.length - 1, start + k - 1) 确定 end 。 这是考虑到如果当前组的字符数不足 k 个接近字符串末尾时可能出现),就不能简单以 start + k - 1 作为末尾索引,否则会越界。取 ch.length - 1 和 start + k - 1 中的较小值,就能保证确定的 end 索引在合法范围内。

3.代码

class Solution {public String reverseStr(String s, int k) {char[]ch=s.toCharArray();for(int i=0;i<ch.length;i+=2*k){int start=i;int end=Math.min(ch.length-1,start+k-1);while(start < end){char temp = ch[start];ch[start] = ch[end];ch[end] = temp;start++;end--;}} return new String(ch);} }

二.替换数字

1.题目链接

54. 替换数字(第八期模拟笔试)

2.思路

  1. 统计数字个数

  2. 创建新字符数组
    根据前面统计的数字个数 count,计算出替换后的字符串的长度( s.length() + count * 5)。用于存储替换后的字符串内容。

  3. 复制原始字符串内容

  4. 从后向前替换数字
    采用从后向前遍历的方式处理新数组 newS设置两个索引变量,一个指向新数组的末尾(newIndex = newSize - 1),另一个指向原始字符串的末尾(i = s.length() - 1)。
    在遍历过程中,如果遇到数字字符(通过 Character.isDigit(newS[i]) 判断),就从新数组的当前位置开始,依次将 “number” 的字符逆序填入,同时将索引 newIndex 向前移动 6 个位置(因为 “number” 有 6 个字符)。
    如果遇到的不是数字字符,就直接将该字符复制到新数组的当前位置,并将 newIndex 向前移动 1 个位置。

  5. 返回结果

3.代码

import java.util.Scanner;public class Main {public static String replaceNumber(String s) {
/1.统计单词个数int count = 0;for (int i = 0; i < s.length(); i++) {if (Character.isDigit(s.charAt(i))) {count++;}}
/2.创建新数组
/3.复制字符串内容到新数组中char[] newS = new char[s.length() + count * 5];int newSize = newS.length;System.arraycopy(s.toCharArray(), 0, newS, 0, s.length());
/4.从后往前替换数字int newIndex = newSize - 1;for (int i = s.length() - 1; i >= 0; i--) {if (Character.isDigit(newS[i])) {newS[newIndex--] = 'r';newS[newIndex--] = 'e';newS[newIndex--] = 'b';newS[newIndex--] = 'm';newS[newIndex--] = 'u';newS[newIndex--] = 'n';} else {newS[newIndex--] = newS[i];}}return new String(newS);}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String s = scanner.next();System.out.println(replaceNumber(s));// 不建议在这种情况下关闭scanner,因为可能会影响后续输入操作// scanner.close();}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com