当前位置:网站首页>字符串的相关编程题
字符串的相关编程题
2022-07-06 18:09:00 【胡阳阳Y】
字符串出现的次数
字符串A,另一个字符串B,计算B字符串在A字符串中出现几次
例子 : dsabdnabdsnabeabiwpabekabd **ab**
- 实现过程
- 对字符串进行索引查找 indexOf
- 找到的字符串的索引记录,进行字符串的截取
- 直到找打到未知, indexOf方法是-1
- 一旦找到了,计数器++
/**
* @param str 原始字符串
* @param sub 要查找的字符串
* @return 出现次数
*/
public static int stringCount(String str ,String sub){
//定义变量,计数器
int count = 0;
//定义变量,记录字符串查找后的索引
int index = 0;
//对字符串出现的位置,进行查询
//反复查找,使用循环while
//循环条件就是indexOf方法返回-1
while ( (index=str.indexOf(sub)) != -1 ) {
//执行了循环index !=-1 字符串出现了
count ++;
//截取字符串,开始索引 index+被查找字符串的长度
str = str.substring(index + sub.length());
}
return count;
}
哪个字符出现的最多
要求 : 指定字符串自能是(小写)字母 abeegewff , 计算出哪个字符出现的次数最多
限定字符串中字母只能有26个
> 找每个字符各自出现多少次,找出最大值
- 实现过程 :
- 字符串转成数组 (单个字符操作)
- 创建长度为26的数组,计数器使用
- 取出数组中的字符, (字符-97)对应数组的索引,计数器++
- 找出数组中的最大值
/**
* 查找字符串中,哪个字符出现的次数最多
* @param str 要查找字符串
* @return 返回出现次数最多的字符
*/
public static char charCount(String str){
//字符串转成数组
char[] chars = str.toCharArray();
//定义26长度的数组,保存每个字符出现的次数
int[] count = new int[26];
//遍历数组
for (int i = 0 ; i < chars.length; i++){
//取出单个字符
char ch = chars[i];
//字符 - 97 作为数组的索引使用 (数组,计数器数组)
count[ ch - 97 ] ++;
}
//System.out.println("Arrays.toString(count) = " + Arrays.toString(count));
//取出count数组中的,最大值的索引
int index = 0 ; //数组最大值索引
int max = count[0];
for(int i = 1 ; i < count.length ; i++){
if (max < count[i]){
index = i;
max = count[i];
}
}
//index索引,正好和字符相差97
return (char) (index+97);
}
边栏推荐
- C语言实例_3
- Typical problems of subnet division and super network construction
- [chip scheme design] pulse oximeter
- AcWing 1140. Shortest network (minimum spanning tree)
- 7.6 simulation summary
- 736. Lisp 语法解析 : DFS 模拟题
- LeetCode. 剑指offer 62. 圆圈中最后剩下的数
- Dark horse notes - exception handling
- AcWing 361. 观光奶牛 题解(spfa求正环)
- curl 命令
猜你喜欢
Yunna | work order management software, work order management software app
Transformation transformation operator
修改px4飞控的系统时间
Yunna | work order management measures, how to carry out work order management
How to manage distributed teams?
LeetCode:1175. Prime permutation
AI 从代码中自动生成注释文档
c语言—数组
JS reverse -- ob confusion and accelerated music that poked the [hornet's nest]
Right mouse button customization
随机推荐
hdu 4661 Message Passing(木DP&amp;组合数学)
Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which
制作带照明的DIY焊接排烟器
剑指 Offer II 035. 最小时间差-快速排序加数据转换
Byte P7 professional level explanation: common tools and test methods for interface testing, Freeman
AcWing 1148. 秘密的牛奶运输 题解(最小生成树)
AcWing 904. Wormhole solution (SPFA for negative rings)
爬虫实战(六):爬笔趣阁小说
从零开始匹配vim(0)——vimscript 简介
What does front-end processor mean? What is the main function? What is the difference with fortress machine?
AcWing 1148. Secret milk transportation problem solution (minimum spanning tree)
数据手册中的词汇
Yunna | work order management measures, how to carry out work order management
JS ES5也可以创建常量?
Dark horse notes - exception handling
LeetCode:1175. 质数排列
Set up [redis in centos7.x]
C语言实例_5
新工作感悟~辞旧迎新~
json学习初体验–第三者jar包实现bean、List、map创json格式