字符串大小写分开打印 -- 漫漫算法路 刷题篇

字符串为键的自定义哈希表(暴雪字符串哈希算法) 这是个在暴雪字符串哈希算法基础上实现的哈希表。在代码实现上有一定优化。 设计上: 1)加密表是足够长的(unsigned long)无符号型数组。数组的值是由算法计算的固定的一些值。加密表是用来计算字符串(在某种子的情况下)的哈希值。 2)哈希值是字符串(大写)的所有的字符的ascii码相关的。使用单向散列函数,从概率上认为,不同字符串的3种不同的种子的3个哈希值不会是都是相同的。(计算的是10的22.3次方分之一的概率) 3)每个节点有3个hash值(hash1,hash2,hash3),hash1 是寻 阅读详情

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
你能帮帮小Q吗?

输入描述:

输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.

输出描述:
对于每组数据,输出移位后的字符串。
示例1

输入

AkleBiCeilD

输出

kleieilABCD
解法一 :遍历两次字符串  第一次打印小写字母  第二次打印大写字母

import java.util.*;

public class Main{
    public static void main(String arg[]){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.nextLine().trim();
            for(int i=0;i<str.length();i++){
                if(str.charAt(i)>='a'&&str.charAt(i)<='z'){
                System.out.print(str.charAt(i));
            }
            }
            for(int j=0;j<str.length();j++){
                if(str.charAt(j)>='A'&&str.charAt(j)<='Z'){
                System.out.print(str.charAt(j));
                }
            }
            System.out.print("\n");
        }
        sc.close();
    }

}

解法二:不用遍历  直接使用replaceAll函数  

import java.util.*;
public class Main{
    public static String getResult(String str){
        return str.replaceAll("[A-Z]","")+str.replaceAll("[a-z]","");
    } 
    public static void main(String arg[]){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.nextLine().trim();
            System.out.println(getResult(str));
        }
        sc.close();
    }
}

ROS2_Moveit2_Ur5e_Grasp项目详解(二):核心模块功能解析 本文深入解析了ROS2_Moveit2_Ur5e_Grasp项目的核心模块功能。重点阐述了OctoMap建图模块如何为机械臂提供实时三维环境感知,并详细介绍了Robotiq夹爪与MoveIt2的集成控制、UR5e的运动规划策略,以及视觉模块如何协同工作,最终实现从目标检测到动态抓取的完整闭环。 阅读详情

相关推荐

利用Python爬虫获取淘宝商品评论:实战案例分析

在数字化时代,数据的价值日益凸显,尤其是对于电商平台而言,商品评论作为用户反馈的重要载体,蕴含着丰富的信息。本文将详细介绍如何利用Python爬虫技术获取淘宝商品评论,包括代码示例和关键步骤解析。

2401_87849335的博客 2833

获得用户输入的一个字符串,将字符串按照空格分割,然后逐行打印出来

输入示例:

成都都成 1万+

DRM驱动代码分析:展频 跳频

DRM驱动代码分析:展频 跳频

yuuu_cheer的博客 2671

android超长字符串分段处理

根据字符串的长度是否超过定义的最大长度来做决定是否做分段打印

唐诺 3214

解决nfs挂载根文件系统报错:VFS: Unable to mount root fs via NFS, trying floppy.

解决nfs挂载根文件系统报错的问题:VFS: Unable to mount root fs via NFS, trying floppy.

汉尼拔勇闯天涯 4573

从帧结构到数据解析:深入理解CJ/T 188 MBUS水表通信协议

本文深入解析CJ/T 188 MBUS水表通信协议,从帧结构到数据解析提供完整指南。通过典型报文示例和实战案例,详细讲解地址域、控制码、数据标识符(DI)等关键字段的解析技巧,并分享校验算法与常见错误排查方法,帮助开发者快速掌握MBUS协议在水表通信中的应用。

weixin_28710999的博客 421

字符串按固定长度位数切割并输出,不足位数补齐指定字符

题目要求:字符串按8位切割 请写一个程序,实现一个函数handleStr, 该函数参数为一个字符串,函数把输入的字符串按8位长度进行切割打印,不足8位补零。 例: 输入:1234 输出:12340000 输入:wrasdfaf135463 输出: wrasdfaf 13546300 def handleStr(user_input): for i in range(0, len(user_input), 8): while len(user_input) < i+8:

weixin_43178315的博客 1557

软件工程期末知识点总结【超详细】

生命周期模型(过程模型):瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。2、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N)3、语句覆盖 就是设计足够的调试用例,使得程序中的每个语句至少执行一次。 5、判定覆盖就是设计足够的测试用例,使得程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖 6、条件覆盖就是设计足够的测试用例,使得程序判定中的每个条件能获得各种可能的结果。7、软件开发时期通常分成4个阶段:总体设计、详细设计、编码和单元测试、综合测试。

这个人好有趣....hh 1万+

c语言打印全部字符串,C语言打印字符串的一部分的方法

C语言打印字符串的一部分的方法6.6 中讨论了怎样拷贝字符串的一部分,为了打印字符串的一部分,你可以利用6.6的例子中的部分技巧,不过你现在要使用的是printf()函数,而不是sprintf()函数。请看下例:# include # include void main (void);void main (void){char * source_str = "THIS IS THE SOURCE ...

weixin_42311046的博客 5157

深度学习在传感器数据分析中的创新应用

传感器是物理世界与数字世界的“接口”,其生成的高维、时序、多源数据蕴含着设备状态、环境变化、用户行为等关键信息。传统传感器数据分析依赖手工特征工程与简单机器学习模型,难以应对复杂场景下的非线性、长程依赖与实时性需求。深度学习通过自动特征提取非线性建模与端到端学习,成为传感器数据处理的革命性工具。本文从概念基础理论框架架构设计实现机制到实际应用,系统拆解深度学习与传感器数据的融合逻辑,结合工业预测维护医疗健康监测智能交通等场景,揭示其技术边界与未来演化方向。

大数据洞察的博客 568

【系统分析师】2025年下半年真题:案例分析-答案及详解(回忆版)

Redis相比Memcached在电商高并发场景下具有显著优势:支持持久化(RDB/AOF)、丰富数据结构(如有序集合实现排行榜)、原生支持集群和哨兵模式(高可用性)。布隆过滤器通过位数组和哈希函数预先存储所有合法订单ID,当查询请求到达时快速拦截无效ID(如伪造ID),避免其穿透缓存直接冲击数据库,从而预防缓存击穿问题。

数据知道的博客 5982

打印字符串的任意一部分

使用printf()函数打印字符串的任意部分,请看下例: #include #include #include int main() { char * source_str = "THIS IS THE SOURCE STRING" ; /* Use printf() to print the first 11 characters of source_str. */

阳光下七月的线条 3646

深度学习技巧应用26-CNN中多种注意力机制的嵌入方法,终于搞懂注意力机制了

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用26-CNN中多种注意力机制的嵌入方法,终于搞懂注意力机制了。CNN是一种能够有效处理图像和其他二维数据的深度学习模型。在传统的CNN中,每个卷积核都会对输入的所有位置进行相同的操作,这可能导致网络无法针对特定区域或特征进行更加关注和重点处理。 注意力机制被引入卷积神经网络中,旨在使网络能够自动地学习和聚焦于输入中的重要区域或特征。通过引入注意力机制,可以增强网络对不同区域或特征的关注度,提取更有意义和相关的特征,从而提高模型的性能和表达能力。

微学AI的博客 3312

shell切割字符串并打印分割后的值

#!bin/bash # 分隔符 soh=`echo 1 | awk '{printf("%c", $1)}'` # sed -i -e 's/|/'$soh'/g' $1 for readFile in `cat $1`; do echo $readFile|awk -F "$soh" '{for(i=1;i&lt;=NF;i++){print i,"= " $i}}'  echo "...

知识的力量 4934

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

拆分一个字符串,以大写字母作为标识

public class RegexTest { public static void main(String[] args) {    String s = "AAccpHelloWorldHH";     String[] ss = s.split("(?      for(int i = 0 ;i              System.out.println(ss[i]);

u011450110的专栏 5597

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java将字符串分段输出_关于java:将字符串输出到系统输出的最快方法是什么?...

我在做这样的事情:for (int i = 0; i < 100000; i++) {System.out.println( i );}基本上,我计算一个整数,输出一个大约10-100千次的字符串,然后需要将结果写入system.out,每个结果用换行符分隔。实现这一目标的最快方法是什么?尝试几种方法并分析它们。谢谢你的建议。我创建了一个测试程序来比较它们:import java.io.Bu...

weixin_29515317的博客 399

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

字符串的所有大小写组合问题

字符串的所有大小写组合问题 题目描述: 一个字符串,字符串中的字符只包含ASCII码内的值,请输出字符串的所有大小写组合(若包含非字母,直接输出即可)。 输入: 一个字符串,字符串中的字符只包含ASCII码内的值 输出: 字符串的所有大小写组合(若包含非字母,直接输出即可) 样例输入: aa123bb 样例输出: aa123bb Aa123bb AA123bb AA123Bb A...

zhaoheng的博客 3984

将字符串按拆分输出

package Day28;import java.util.*;/*连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组*/ //程序分析:将不是8整数位补0;然后按照每行8为输出 public class

Ranmelissa的博客 1457

输出所有大小写字符的组合

看到一道Yelp面试题,给定一个字符串,里面只有小写字母和数字,输出包含所有大小写字母的组合,不改变字符顺序。比如"a2c",那我们输出"a2c", "A2c", "a2c", "a2C" 使用一个简单的递归加回溯就可以了 public static void main(String[] args) { List&lt;String&gt; res = new

weixin_34124651的博客 414

字符串分段输出

输入样例:2,6                    123                     12345678 输出样例:123000

Dylan_min 935
上一篇: 最长公共子字符串 -- 漫漫算法路 刷题篇
下一篇: 美团点评2018笔试 -- JAVA 进阶
qishun2xiao
博客等级 码龄9年 15粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值