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

中医协会网站建设方案网站 免备案

中医协会网站建设方案,网站 免备案,城中网站制作,无人机公司网站建设目录 一、题目思路 二、复杂度分析 三、相关算法题目 四、相关知识点 1. Java 中数组复制 2.String的注意点 一、题目思路 第一步,统计字符串中数字的个数count,用于计算扩展后数组的长度newSize(原本长度count * 5)&#…

目录

一、题目思路

二、复杂度分析

三、相关算法题目

四、相关知识点

1. Java 中数组复制

2.String的注意点


一、题目思路

第一步,统计字符串中数字的个数count,用于计算扩展后数组的长度newSize(=原本长度+count * 5);第二步,新建一个字符串数组newS,长度为newSize,将原数组中的元素复制到新数组中;第三步,双指针从后向前遍历新数组,将数字替换为number;

将元素复制到新数组中时,有两种方法;

1.使用Sysem.arraycopy

public class Main {public static void main(String[] args) {char[] src = {'a', 'b', 'c', 'd'};char[] dest = new char[4];// 使用 System.arraycopy 复制数组System.arraycopy(src, 0, dest, 0, src.length);// 输出目标数组System.out.println("目标数组内容:");for (char c : dest) {System.out.print(c + " ");}}
}

2.手动循环实现复制

for (int i = 0; i < src.length; i++) {dest[i] = src[i];
}

 1的效率更高

二、复杂度分析

时间复杂度:O(n)

主要由以下几个部分决定:1.统计数字的个数,遍历字符串一次,时间复杂度为O(n),n为字符串长度;2.复制原数组中的元素,遍历字符串一次,时间复杂度为O(n);3.将数字替换成number,从后向前遍历字符串一次,时间复杂度为O(n);综上,总时间复杂度为O(n);

空间复杂度:O(n)

主要由以下几个部分决定:1.统计数字个数,使用一个变量count,空间复杂度为O(1);2.创建新数组,长度为s.length() + count * 5,最坏情况下全是数字,count=n,长度为n+ 5n = 6n,空间复杂度为O(n);3.其他变量,如i,j,newSize等,空间复杂度为O(1);综上,总空间复杂度为O(n);

三、相关算法题目

54. 替换数字

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

import java.util.Scanner;public class Main{public static String replaceNumber(String s){int count = 0;//统计数字的个数int OldIndex = s.length() - 1;//旧数组的末端for(int i = 0;i < s.length();i++){if(Character.isDigit(s.charAt(i))){count++;}}//统计数字个数//扩充数组char[] newS = new char[s.length() + count * 5];int NewIndex = newS.length - 1;//新数组的末端//将原数组中的元素复制到新数组for(int i = 0;i <= OldIndex;i++){newS[i] = s.charAt(i);}//将数组中的数字替换成 numberfor(int i = OldIndex, j = NewIndex;i >= 0;i--){if(newS[i] >= '0' && newS[i] <= '9'){newS[j--] = 'r';newS[j--] = 'e';newS[j--] = 'b';newS[j--] = 'm';newS[j--] = 'u';newS[j--] = 'n';}else{newS[j--] = newS[i];}}return new String(newS);};public static void main(String[] args){Scanner sc = new Scanner(System.in);String s = sc.next();System.out.println(replaceNumber(s));sc.close();}
}

四、相关知识点

1. Java 中数组复制

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 

arraycopy是静态方法,可以直接通过类名调用,不需要创建对象。

参数说明:

  1. src:源数组,即要复制的数组。可以是任意类型的数(如 char[]int[]Object[] 等)。

  2. srcPos:源数组的起始位置(索引),从该位置开始复制。

  3. dest:目标数组,即要将数据复制到的数组。

  4. destPos:目标数组的起始位置(索引),从该位置开始存放复制的数据。

  5. length:要复制的元素数量。

无返回值,直接修改目标数组;

2.String的注意点

String是java定义好的一个类,定义在java.lang包中,所以使用时不需要导包;

字符串的内容是不会发生改变的,它的对象在创建后不能被更改;

每次修改字符串时,都会创建一个新的字符串对象,原来的字符串内容并不会改变;

修改字符串的方式:

(1)使用StringBuilder 或者StringBuffer;(一个可变的字符序列)

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World"); // 修改 StringBuilder 对象
String result = sb.toString(); // 转换为不可变的 String
System.out.println(result); // 输出: Hello World

(2)创建新的字符串

每次修改字符串时,都会创建一个新的字符串对象。

String s = "Hello";
s = s + " World"; // 创建了一个新的字符串对象
System.out.println(s); // 输出: Hello World

(3)使用字符数组

将字符串转换为字符数组(char[]),修改数组后再转换回字符串。

char[] chars = "Hello".toCharArray();
chars[0] = 'h'; // 修改字符数组
String result = new String(chars);
System.out.println(result); // 输出: hello

文章转载自:

http://6fmF9hZz.pjtnk.cn
http://bl2O0lxu.pjtnk.cn
http://T1PxLmpB.pjtnk.cn
http://Y7yWOLBU.pjtnk.cn
http://QhLi0D2z.pjtnk.cn
http://GhqJx0hH.pjtnk.cn
http://OiZzlGHU.pjtnk.cn
http://eMIemhpa.pjtnk.cn
http://0gqBsi69.pjtnk.cn
http://JezqSfEq.pjtnk.cn
http://C5haau26.pjtnk.cn
http://39wesQMU.pjtnk.cn
http://9gvdltSZ.pjtnk.cn
http://89nZZ2zw.pjtnk.cn
http://izR7GhOK.pjtnk.cn
http://xHvsuLzH.pjtnk.cn
http://piklgP4a.pjtnk.cn
http://TSndYfHX.pjtnk.cn
http://jZIQdRIh.pjtnk.cn
http://CEFcPUEK.pjtnk.cn
http://E5ck1pMB.pjtnk.cn
http://BjEst6iO.pjtnk.cn
http://qBMhUgyX.pjtnk.cn
http://SYUas5MI.pjtnk.cn
http://izXgnX2e.pjtnk.cn
http://VN8RbGrv.pjtnk.cn
http://r4lPnF74.pjtnk.cn
http://D6im8D6b.pjtnk.cn
http://K68tw5pP.pjtnk.cn
http://kLDUW46o.pjtnk.cn
http://www.dtcms.com/wzjs/734973.html

相关文章:

  • 安徽天长建设局网站网络策划书范文
  • 上海企业营销型网站建设广告最多的浏览器
  • 中国建设银行网站查余额网站 建设 网站设计公司
  • 学习网页制作的网站家政公司简介模板
  • wordpress网站制作wordpress+培训模板
  • 励志做的很好的网站未来科技
  • 哪些网站可以免费看剧包头网站建设公司哪家好
  • 大数据平台建站seo应用领域有哪些
  • 家用宽带做网站购物网站网页设计图片
  • 怎么在建设厅网站报名西安建设城市信息网站
  • 移动端快速建站html爱心特效代码
  • 网站建设与维修2019做网站seo行不行
  • 福建省铁路建设办公室网站潍坊有哪些网站
  • 办一个网站要多少钱温州红酒网站建设
  • 网站加地图标记万博法务网站建设项目
  • 贵州省建设厅实名认证网站营销培训去哪个学校好
  • 手机版网站开发框架关于网站建设费用
  • 网站规划书的内容有哪些建筑设计为何没人干了
  • 做网站如何突出网站特色登陆Wordpress手机app
  • wordpress 企业网站 授权费运城可以做网站的公司
  • 建设工程教育官方网站成都房产网签查询
  • 网站的虚拟主机到期深圳网页设计兴田德润i简介
  • 正能量网站入口不用下载做运营需要具备什么能力
  • 网站视频主持人制作长沙服务好的网络营销
  • 图书馆 网站开发 总结seo怎么做网站排名
  • 全国哪个餐饮品牌的网站做的好做网站的流程分析-图灵吧
  • 网站建设情况自查报告python代码大全
  • 海城网站制作佛山网站制作系统
  • 网站制作软件排行榜泉州教育网站
  • 宿迁大型三合一网站开发网站建设怎么上传不了图片