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

替换数字----超全详细解

以下内容是从网站中学习的~~~

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。

例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。

对于输入字符串 "a5b",函数应该将其转换为 "anumberb"

输入:一个字符串 s,s 仅包含小写字母和数字字符。

输出:打印一个新的字符串,其中每个数字字符都被替换为了number

样例输入:a1b2c3

样例输出:anumberbnumbercnumber

数据范围:1 <= s.length < 10000。

思路

如果想把这道题目做到极致,就不要只用额外的辅助空间了! (不过使用Java和Python刷题的录友,一定要使用辅助空间,因为Java和Python里的string不能修改)

首先扩充数组到每个数字字符替换成 "number" 之后的大小。

例如 字符串 "a5b" 的长度为3,那么 将 数字字符变成字符串 "number" 之后的字符串为 "anumberb" 长度为 8。

有同学问了,为什么要从后向前填充,从前向后填充不行么?

从前向后填充就是O(n^2)的算法了,因为每次添加元素都要将添加元素之后的所有元素整体向后移动。

其实很多数组填充类的问题,其做法都是先预先给数组扩容带填充后的大小,然后在从后向前进行操作。

这么做有两个好处:

  1. 不用申请新数组。
  2. 从后向前填充元素,避免了从前向后填充元素时,每次添加元素都要将添加元素之后的所有元素向后移动的问题。

代码:

import java.util.*;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);String s = sc.next();int len = s.length();for(int i =0;i < s.length();i++){if(s.charAt(i) >= 0 && s.charAt(i) <='9'){len += 5;}}char [] ret = new char[len];for(int i = 0;i < s.length();i++){ret[i] = s.charAt(i);}for(int i = s.length() - 1,j = len - 1;i >= 0;i --){if('0' <= ret[i] && ret[i] <='9'){ret[j--] = 'r';ret[j--] = 'e';ret[j--] = 'b';ret[j--] = 'm';ret[j--] = 'u';ret[j--] = 'n';}else{ret[j--] = ret[i];}}System.out.println(ret);}
}

时间复杂度:O(n)

空间复杂度:O(1)

http://www.dtcms.com/a/420599.html

相关文章:

  • wordpress建站做客户端文大侠seo博客
  • 机器学习15:自监督式学习(Self-Supervised Learning)①
  • 怎么制作网站链接手机做植物网站
  • 做网站的一般多少钱酒店网站建设因素
  • 最权威的做网站设计公司价格Wordpress装好只能访问
  • 小精灵儿童网站免费做踢芯片设计公司
  • 上海网站建设开发哪家好深圳网站如何制作
  • 平面设计资源网站网站建设西街
  • 中山做网站联系电话网站规划与开发技术专业
  • o2o网站建设基本流程爱企查企业服务平台
  • signal_connect
  • 什么是网站反向链接wordpress 到访人数
  • 自己做的视频可以传别的网站去吗.net开发微信网站
  • 网站如何做淘客桐城网站建设
  • 5、Lombok原理深入剖析:编译期注解处理机制与替代方案对比
  • 简述织梦网站上传步骤东莞外贸建站及推广
  • pid控制作为反馈控制,增加前馈控制,什么是前馈控制解释
  • 成品网站w灬源码火龙果住房和规划建设局网站
  • wordpress上传网站模板wordpress cms
  • MCU模块系统时钟
  • 温州 网站制作wordpress 自动升级
  • memblock-1
  • 云南住房和城乡建设厅网站首页网站建设策划基本流程
  • 深度学习核心技术演进:从函数到 Transformer 架构
  • 圣耀做单网站商城类小程序
  • 仿贴吧的网站网站建设费账务处理
  • 博客网站源码带后台前端电商网站登录界面怎么做
  • 成都网站建设平台郑州建站优化
  • 手机wap网站免费制作中山最好的网站建设公司哪家好
  • 网站阵地建设管理办法微网站建设网站