字符串问题之 找到被指定的新类型字符

字符串-01. 在字符串中查找指定字符(15) 输入一个字符串S,再输入一个字符c,要求在字符串S中查找字符c。如果找不到则输出“Not found”;若找到则输出字符串S中从c开始的所有字符。 输入格式: 输入在第1行中给出一个不超过80个字符长度的、以回车结束的非空字符串;在第2行中给出一个字符。 输出格式: 在一行中按照题目要求输出结果。 输入样例1: It is a black box b 输出样例1: b 阅读详情

字符串问题之 找到被指定的新类型字符

类似于 Ab  DC e

str="aaABCDEcBCg"   k=7  Ec     k=4 CD      k=10  g

解题思路:

  介绍一种最快最强的解题方法:

    从 k-1 位置开始 向左统计连续出现的大写字母数量 int  uNum    遇到小写字母就停止 

   如果 nNum为奇数, str[k..k+1]是被选中的新型字符

    如果nNum为偶数,且 str[k]是大写字母,str[k..k+1]是被选中的新型字符

    如果nNum为偶数,且srt[k]是小写字母,str[k]是被选中的新类型字符

 

package TT;



public class Test6 {
  
	public static String pointNewchar(String s, int k){
		if(s==null || s.equals("") || k<0 || k>=s.length()){
			return "";
		}
		
		char[] chas = s.toCharArray();
		int uNum = 0;
		for(int i = k-1; i>=0; i--){
			if( !isUpper(chas[i])){
				
				break;
					
			}
			
			uNum++;
			
		}
		
		if((uNum &1) ==1){    //判断是否是奇数
			 return s.substring(k-1, k+1);
			 
		}
		
		if(isUpper(chas[k])){
			return s.substring(k, k+2);
		}
		
		return String.valueOf(chas[k]);
		
		
	}
	
	
	public static boolean isUpper(char a){
		  
		if(a >'A' && a<'Z'){
			return true;
		}else{
			return false;
		}
	}
	
	
	
	public static void main(String[] args){
		 
		String str = "aaABCDEcBcg";
		int k = 7;
		String s = pointNewchar(str, k);
		System.out.println(s);
		
	}
	
	
	
	
}

  

 可以这么玩儿~

public class Test11 {

    public static int positionString(String str1, String str2) {
        String bigStr;
        String smallStr;
        int str1Length = str1.length();
        int str2Length = str2.length();
        if (str1Length >= str2Length) {
            bigStr = str1;
            smallStr = str2;
        } else {
            bigStr = str2;
            smallStr = str1;
        }

        int end = bigStr.length() - smallStr.length();
        for (int i = 0; i <= end; i++) {
            char now = bigStr.charAt(i);
            int smallIndex = 0;
            int bigIndex = i;
            if (now == smallStr.charAt(smallIndex)) {
                while ((smallIndex < (smallStr.length() - 1))
                        && bigStr.charAt(++bigIndex) == smallStr.charAt(++smallIndex))
                    ;
                if (smallIndex == (smallStr.length() - 1)) {
                    return i + 1;
                }
            }
        }
        return -1;

    }

    public static void main(String[] args) {
        String str1 = "aaABCDEcBCg";
        String str2 = "g";
        System.out.println(positionString(str1, str2));
    }

}

 

posted @ 2017-08-22 16:12 toov5 阅读( ...) 评论( ...) 编辑 收藏
YOLO数据集实现数据增强的方法(裁剪、平移 、旋转、改变亮度、加噪声等) 数据集样本太少怎么办?数据集优质图像不够怎么办?如何做到更好的数据预处理?一文带你学会数据增强,还可实现带标签的扩充。 阅读详情

相关推荐

AutoLISP 学习 (一)

AutoLISP基本语法结构、语法 以括号组成表达式,左右括号一定要成对,单、双引号也要成对,例如: (defun c:hello() (princ "\nHello world!") (prin1) ) 表达式格式:(函数名 操作数 操作数 …),例如: (setq p1 (list 0 0)) (setq p2 (list 10 10)) (setq p3 (list 20 20)) ;;; CAD中画直线,经过p1 p2 p3 (command "LINE" p1 p2 p3 ""

m0_54575622的博客 2123

找到被指的新类型字符

【题目】新类型字符的定义如下: 1.新类型字符是长度为1或者2的字符串。 表现形式可以仅是小写字母,例如,“e";也可以是大写字母+小写字母,例如”Ab";还可以是大写字母+大写字母,例如,“DC"。 现在给定一个字符串str,str一定是若干新类型字符正确组合的结果。比如“eaCCBi",有新类型字符”e",“a”,"CC"和“Bi"拼成。再给定一个整数K,代表str中的位置。请返回被k位置指中...

gkq_tt的博客 255

薛定谔 | 先导化合物优化与相互作用可视化

当获得针对某个靶点的先导分子后,想要在此基础上进行化学结构修饰。为了提升化学改造的成功率可以采用本教程方法进行结构虚拟改造/优化。每用薛定谔处理一个新任务,第一步必须创建新的project以方便日后管理。选项卡中修改工作路径(可以方便地找到输出文件)

药研猿的博客 2145

找到指定的新类型字符

题目: 新类型的字符定义如下: 1、新类型字符是长度为1或2的字符串 2、表现形式可以仅是小写字母,也可以是大写字母+小写字母,也可以是大写字母+大写字母。例如,a,Bc,DD都是符合条件的新类型字符。 现在给定一个字符串str,str一定是若干新类型字符正确组合的结果。比如“eaCCBi”,由新类型字符“e”,“a”,“CC”,“Bi”拼成。再给定一个整数k,代表str中的位置。请返回被...

BUPT-WT的博客 309

CST周期边界仿真:揭秘频率选择表面(FSS)单元设计全流程

本文详细解析了CST周期边界仿真在频率选择表面(FSS)单元设计中的应用全流程。从理论基础到工程实践,涵盖了求解器选择、几何建模、边界设置、端口优化等关键步骤,并提供了常见问题排查指南。通过CST仿真技术,工程师能够高效预测FSS的电磁特性,为实际应用提供可靠的设计依据。

weixin_30571465的博客 361

点云从入门到精通技术详解100篇-点云的特征检测(续)

对每个维度的序列分别计算 DTW 距离,最后。权重将距离限制在较小的范围内,对于时间跨度大的数据集,过度限制了点对点的路径,同的,因此不能用欧氏距离来计算两个多元时间序列之间的距离,本文选用的是动态时。到的股票数据是未知分类的,因此该数据的相似性分析缺少有效的评价方式,通常需要。时间序列,简而言之,就是与时间相关的数据的集合,应用在生活工作中的方方面。时间序列的分段线性化表示的难点在于如何找出分段点,目前,对于分段点的研究。经过分段线性化之后,每个多元时间序列的维度是相同的,但是每一维的长度是不。

getusushu的博客 334

找到指定类型的新类型字符

找到指定类型的新类型字符 题目描述 新类型字符的定义如下: 1.新类型字符是长度为1或者2的字符串。 表现形式可以仅是小写字母,例如,“e”; 也可以是大写字母+小写字母,例如,“Ab”;还可以是大写字母+大写字母,例如,“DC”。 现在给定一个字符串str, str 一定是若干新类型字符 正确组合的结果。比如"eaCCBi",由新类型字符"e"、"a”、"CC"和"Bi"拼成。 再给定一个整数k,代表str中的位置。请返回第k个位置的新类型字符。 输入描述: 输入包含两行,第一行两个整数n,k(1≤n

MIC10086的博客 207

OpenStack [ compute_id ] 设计上的小缺陷

而 nova 代码中硬编码(或默认配置)将 compute_id 放在 site-packages 目录,属于 设计上的小缺陷—— 把 “库安装目录” 和 “运行时数据目录” 混在一起了,才导致需要临时调整这个目录的权限。# 配置项说明:node_identity_file 是 nova 用于指定节点标识文件路径的官方配置项,优先级高于代码中的默认路径。自定义 compute_id 路径,指向 /var/lib/nova/ 目录下的 compute_id 文件;

求知若渴,虚心若愚。 491

程序员代码面试指南刷题--第五章.找到指定类型的新类型字符

题目描述 新类型字符的定义如下: 1.新类型字符是长度为1或者2的字符串。 2. 表现形式可以仅是小写字母,例如,“e”; 也可以是大写字母+小写字母,例如,“Ab”;还可以是大写字母+大写字母,例如,“DC”。 现在给定一个字符串str, str 一定是若干新类型字符 正确组合的结果。比如"eaCCBi",由新类型字符"e"、"a”、"CC"和"Bi"拼成。 再给定一个整数k,代表str中的位置...

我不是什么好人 254

安全与加密常识(10)linux系统证书管理

1. 将自定义CA证书(如my-ca.crt)放到源目录# 2. 编辑配置文件,启用该证书(末尾添加一行 my-ca.crt)# 3. 执行命令同步(核心工作环节)# 4. 验证结果:检查是否生成哈希链接和合并到证书束ls /etc/ssl/certs/my-ca.pem # 证书文件ls /etc/ssl/certs/$(openssl x509 -hash -noout -in /usr/share/ca-certificates/my-ca.crt).0 # 哈希链接。

二进制君 292

2xmax96717+max96724+agx orin驱动代码

说明:这里主要解决max96717的设备地址和sensor地址映射,vc0->vc1多颗max96717+max96724使用配置思路如下: 1、改变max96717的pipez stream id,然后max96724的pipe绑定使用相应的stream id 2、max96717默认是vc0,把vc0改写成vc1\vc2\vc3,然后max96724再重新映射vc输出

mantouyouyou的博客 115

字符串——找到被指的新类型字符

题目: 自定义了3种新的字符类型: 1:单个小写字母,如‘a’;   2:大写+小写字母对,如'Ab' ;2:大写+大写字母对,如'AA' 。 给定满足要求的字符串和整数,返回指定位置上的新类型字符。 举例: "aaABCDEcBCg",    7       返回“EC”. public String piontNewChar(String s,int k) {

jingsuwen1的博客 396

Altium Designer(AD24/25)导入DXF或DWG结构文件的方法

DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导入DXF或DWG结构文件的方法。

fydar的博客 1453

python 去除字符串中指定字符

python中的strip()可以去除头尾指定字符 结果: 可以看到只能删除头尾指定字符。想要去除中间字符,可以使用replace()函数 结果: note:1. strip(str)基本用法:ss.strip(rmStr)ss.strip()参数为空时,默认去除ss字符串中头尾\r, \t, \n, 空格等字符;参数为某个字符时,可以去掉头尾指定字符噢,例如:输入: 运行结果: 需要注意strip是按字符级别匹配的,只要头尾出现字符集中的字符,就会被strip掉,而不是整段字符匹配

taku 38万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C 用新字符串替换某字符串里的指定字符

/** *在有效的字符串内,用新字符串替换指定的字符串,仅执行一次替换操作 *str: 待替换的字符串源 *oldstr: 被替换的字符串 *newstr: 用于替换的新字符串 *result: 参数输出执行替换后的结果(可用该函数返回值,也可用result参数接收替换后的结果) **/ char *strrpc(char *str,char *oldstr,char *newstr,cha...

u010465417的博客 4772

精雕软件(JDpaint) 5.5 绿色版

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

python对字符串中指定字符进行替换

(1)替换指定的所有字符:string.replace(‘a’,‘b’) 表示将字符串string中所有字符为’a’的替换为’b’。 例子 string = "abcabcabc" string = string.replace('a','b') print(string) 输出 bbcbbcbbc (2)替换指定位置i的字符为字符s:列表化字符串再以字符串形式输出 例子 i,s...

HachiLin的博客 5万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

字符串问题---找到被指的新类型字符

【题目】 新类型的字符定义如下: 新类型字符是长度为1或2的字符串 表现形式可以仅是小写字母,也可以是大写字母+小写字母,也可以是大写字母+大写字母。例如,a,Bc,DD都是符合条件的新类型字符。 现在给定一个字符串str,str一定是若干新类型字符正确组合的结果。比如“eaCCBi”,由新类型字符“e”,“a”,“CC”,“Bi”拼成。再给定一个整数k,代表str中的位置。请返回被k位置指中的新类

冰殇的博客 657

python统计字符串中指定类型字符的个数_统计字符串中指定类型字符的个数

统计字符串中指定类型字符的个数描述假设所有字符分为三类:字母,数字及其他字符。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬编写一个函数,判断指定字符的类型,并统计字符串中该类型字符的个数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬...

weixin_31721961的博客 4256

删除指定字符串及删除指定全部字符串

删除指定字符串: 函数有删除一个字符串的,有删除指定字符串的,注意不同函数的思路。 #include #include #include /* 方法一:删除全部指定字符串 */ void delString(char *str, char *finstr) { char *pstr = strstr(str, finstr); if (NULL == pstr) { print

liuguangsh的博客 9634

找到字符串儿中出现指定次数的字符

在一个字符串中找到出现指定次数的字符并通过控制台输出。 如输入abaccdeff及1,则通过控制台输出: b d e 如输入abaccdeff及2,则通过控制台输出: a c f 实现代码如下: # include<iostream> //思路:用指针指向字符串儿空间,用双层循环计算次数,得到结果。 //备注:s.c_str()是将字符串儿s转成数组。 # include<str...

小小怪的很 959

python3在指定字符串中找到子字符串的全部位置

python3在指定字符串中找到子字符串的全部位置 def indexstr(str1,str2): '''查找指定字符串str1包含指定子字符串str2的全部位置, 以列表形式返回''' lenth2=len(str2) lenth1=len(str1) indexstr2=[] i=0 # print(str1.index(str2,10...

a66612345的博客 1万+

python统计字符串中指定类型字符的个数_函数实现统计字符串中指定类型字符的个数...

统计字符串中指定类型字符的个数描述假设所有字符分为三类:字母,数字及其他字符。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬编写一个函数,判断指定字符的类型,并统计字符串中该类型字符的个数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬...

weixin_39752800的博客 2252

TypeScript类型别名和字符串字面量类型

说白了就是把类似string这种东西换个别名,至于字面量,你可以约束类型,我也能约束他是什么或者在哪个范围之内选择。 类型别名 类型别名用来给一个类型起个新名字。 type Name = string; type NameResolver = () => string; type NameOrResolver = Name | NameResolver; function getNam...

Army-海军的博客 1万+

如何将字符串动态转换为指定的值类型

如何将字符串动态转换为指定的值类型作者:eaglet转载请保留原作者署名并注明出处。     我们日常工作中经常会遇到将字符串转换为值类型的问题,比如"123"转换为一个Int32类型,这个很简单,我们只要调用int.Parse 函数就可以实现。eaglet今天要说的是,一些应用中往往在编码阶段无法知道字符串需要转换成的值类型的具体类型,而需要在运行时动态指定类型进行转换,

eaglet的专栏 2816

c# 将字符串转换为指定类型的值

c# 将字符串转换为指定类型的值 private object GetValueByProperty(string key, string value, ref Type typeValue) { Type t = typeof(T); var property = t.GetProperty(key); ...

cxu123321的博客 2134
上一篇: 字符串问题之 找到字符串的最长无重复子串长度
下一篇: 字符串问题之 最小包含子串长度
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值