算法-寻找字符串在给定字符串中出现的次数

这篇具有很好参考价值的文章主要介绍了算法-寻找字符串在给定字符串中出现的次数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、统计给定字符串在字符串中出现的次数

相信大家看完这篇字符串的操作一定让你觉得真简单,处理方式也很灵活,那么下来敲黑板了,请你认真看喔。
方法一

使用replace方法和contains方法
统计原字符串的长度,然后新建一个空的字符串,用来接收要统计的字符串在原字符串中替换为空串后的串,然后运用数学公式就可以得出结果

//方法一
public static int Count(String str,String temp) {
        int old_length = str.length();
        String replace = "";
        if (str.contains(temp)) {
            replace = str.replace(temp,"");
        }
        return (old_length - replace.length()) / temp.length();
    }

方法二

使用indexOf,首先indexOf的两种用法

//一个参数,就是代表从下标0开始,第一次出现的次数
String str = "aidfjakfj";
System.out.println(str.indexOf("a")); //0
//两个参数,第一个字符串,第二个开始的下标
System.out.println(str.indexOf("a",3));//5

public static int getCount(String str,String substr){
  		int count = 0;//count用来接收子字符串substr在字符串str中出现的次数
 		int i = 0;
 		while(str.indexOf(substr,i) != -1) {
   		 	count++;
  			 i=str.indexOf(substr, i)+substr.length();
		  }
	 	 return count;
	 }

方法三

使用subString,str.substring(indexStart,indexEnd)表示:截取方法调用者(即str)的从indexStart到indexEnd(包括indexStart,不包括indexEnd;即含头不含尾、或左闭右开区间内的子字符串)。左闭右开!!!!!

public static int getMaches(String str,String substr){
 		int count = 0;
 		//开始循环统计,加的长度一定是最后再加上一位,左闭右开!!!!
 		for(int i=0;i<str.length()+1-substr.length();i++) {
  			 if(str.substring(i, substr.length()+i).equals(substr)) {
   				 count++;
  			 }
 		 }
 		 return count;
	 }

怎么样是不是很清晰,那么再来一道开胃小菜,快拿出你的纸和笔,让你脑子转动起来,这个题目也会让你吃惊的。

2、给定一个 n × n 的二维矩阵 matrix 数组。请你将二维数组中的数按照顺时针旋转90°。

再来一道矩阵旋转的题目文章来源地址https://www.toymoban.com/news/detail-810952.html

class Solution {
    public void rotate(int[][] matrix) {
        int length = matrix.length;//矩阵的长度
        int [][] temp = new int[length][length];
        //这里注意,将原数组的第i行复制给第n - i列
        //这里需要注意的是角标的变化
        //行列 原数组行列  i  j
        //02-----00       2  0
        //12-----01       2  1
        //22-----02       2  2
        //01-----10       2  0
        //11-----11       2  1
        //21-----21       2  2
        //这里可以看出,将要填充的数组与已有数组的关系
        //ji  --- length - i - 1
        for (int i = length - 1; i >= 0; i--) {
            for (int j = 0; j < length; j++) {
                temp[j][i] = matrix[length - i - 1][j];
            }
        }
        for (int i = 0; i < length; i++) {
            for (int j = 0; j < length; j++) {
                matrix[i][j] = temp[i][j];
            }
        }
    }
}
	
class Solution {
    public void rotate(int[][] matrix) {
        //这种方法是将数组在原数组进行两次操作,按照对角线操作,然后顺时针就左右进行交换就能都到结果了
        int n = matrix.length;
        for (int i = 0; i < n; i ++) {
            for (int j = 0; j < i; j ++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n / 2; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[i][n - j - 1];
                matrix[i][n - j - 1] = temp;
            }
        }
    }
}

到了这里,关于算法-寻找字符串在给定字符串中出现的次数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux命令统计文件中某个字符串出现的次数

    可以使用grep命令统计文件中某个字符串出现的次数。语法: - grep -o:查找文件中匹配的字符串,并只输出字符串本身 - \\\'字符串\\\':需要统计的字符串,用单引号括起来 - 文件名:需要查找的文件的路径和文件名 - wc -l:统计行数,这里统计grep输出的行数,即字符串出现的次数例如,要统计

    2024年02月08日
    浏览(29)
  • Matlab统计字符串中共有多少种字符以及每种字符出现次数的功能实现(Matlab R2021a)

    在做2023年深圳杯B题的时候,需要使用隐写技术(将特定信息嵌入信息载体且不易被察觉,可被广泛地应用于著作权保护、数据附加等领域)将《中华人民共和国著作权法》全篇10314个字符写入图片。 首先我想到的是利用 霍夫曼编码原理 将字符串进行压缩,这样的话,相同的

    2024年02月14日
    浏览(24)
  • C语言学习之统计英文字符串中26个字母大小写出现的次数

    实例要求: 编写C语言代码,统计出英文字符串中26个字母大写和小写 出现的次数 ; 输入输出如下所示: 实例分析: 1.对字符串用 while循环或者for循环 进行遍历,找到 26个英文字母大小写 ; 2.将所有英文字母大写或者小写都转换成 ASCII值 ,进行运算; 3.封装相应的功能函数

    2024年02月10日
    浏览(32)
  • 【算法】力扣【动态规划,LCS】1312. 让字符串成为回文串的最少插入次数

    1312. 让字符串成为回文串的最少插入次数 本文探讨的是力扣(LeetCode)上的第1312题:让字符串成为回文串的最少插入次数。这是一道属于动态规划类别下的困难题目,通常以回文串相关的操作来衡量算法的优化和执行效率。 问题的核心是给定一个字符串 s ,你可以在任意位

    2024年01月23日
    浏览(33)
  • 【算法|动态规划No.28】leetcode1312. 让字符串成为回文串的最少插入次数

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助 🍓希望我们一起努力、成长,共同进步。

    2024年02月06日
    浏览(42)
  • [Python3]编写程序,对输入的英文字符串中各字母出现的次数进行统计(不区分大写字母和小写字母),统计结果使用字典存放。例如,字符串“I have 2 ideas.“的统计结果为......

    编写程序,对输入的英文字符串中各字母出现的次数进行统计(不区分大写字母和小写字母),统计结果使用字典存放。例如,字符串\\\"I have 2 ideas.\\\"的统计结果为{\\\'i\\\':2, \\\'h\\\':1,\\\'a\\\':2, \\\'v\\\':1,\\\'e\\\':2, \\\'d\\\':1, \\\'s\\\':1}。注:用户输入的字符串中可能包含字母以外的其他字符。 输入格式: 输入一个英

    2024年02月04日
    浏览(34)
  • 题目:2185.统计包含给定前缀的字符串

    ​​ 题目来源:         leetcode题目,网址:2185. 统计包含给定前缀的字符串 - 力扣(LeetCode) 解题思路:        遍历判断即可。 解题代码: 总结:         官方题解也是一样的思路。

    2024年02月15日
    浏览(32)
  • 题目:2027.转换字符串的最少操作次数

    ​​ 题目来源:         leetcode题目,网址:2027. 转换字符串的最少操作次数 - 力扣(LeetCode) 解题思路:        遍历字符串,如果当前位置字符是 \\\'X\\\',计数加一并将当前元素及其后面的元素变为\\\'0\\\',然后继续遍历字符串。最后返回计数结果即可。 解题代码: 总结:  

    2024年02月16日
    浏览(26)
  • 用给定的key对字符串进行sha256加密-postman预处理

    接口在请求时,需要将参数排序后进行sha256加密,获取sign,作为参数。 postman的预处理,找不到方法可以对字符串进行有key的sha256加密,所以用python写一个加密接口,在预处理中调用加密接口即可 1.python文件

    2024年02月16日
    浏览(44)
  • String字符串

    直接创建 代码简单,节约内存 使用new创建 有new就会开辟一个新的小空间,地址值不同不会复用浪费空间 案例:用户登录 遍历字符串 统计字符个数 拼接字符串 字符串反转 金额转换 手机号屏蔽 敏感词替换 使用场景:1.字符串拼接。2、字符串反转 常用方法练习 对称字符串

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包