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

简单题28-找出字符传中第一个匹配项的下标(Java and Python)20240918

问题描述:

在这里插入图片描述

Java代码:
class Solution {
    public int strStr(String haystack, String needle) {
        int n1 = haystack.length();
        int n2 = needle.length();
        
        if (n2 == 0) {
            return 0;  // 如果 needle 为空字符串,直接返回 0
        }
        
        if (n1 < n2) {
            return -1;  // 如果 haystack 的长度小于 needle,返回 -1
        }
        
        for (int i = 0; i <= n1 - n2; i++) {  // 遍历到 n1 - n2 位置
            if (haystack.substring(i, i + n2).equals(needle)) {  // 使用 substring 和 equals 比较
                return i;
            }
        }
        
        return -1;  // 没有找到时返回 -1
    }
}

python代码1:
class Solution(object):
    def strStr(self, haystack, needle):
        """
        :type haystack: str
        :type needle: str
        :rtype: int
        """
        return haystack.find(needle)
python代码2:
class Solution(object):
    def strStr(self, haystack, needle):
        """
        :type haystack: str
        :type needle: str
        :rtype: int
        """
    
        n1, n2 = len(haystack), len(needle)
    
        if n2 == 0:  # 如果 needle 为空字符串,返回 0
            return 0
    
        for i in range(n1 - n2 + 1):  # 确保不会超出 haystack 范围
            if haystack[i:i+n2] == needle:  # 对比子字符串和 needle
                return i
    
        return -1  # 没有找到时返回 -1

http://www.kler.cn/a/310968.html

相关文章:

  • Unity学习笔记(4):人物和基本组件
  • linux设置主机名
  • Android中桌面小部件的开发流程及常见问题和解决方案
  • 使用elementUI实现表格行拖拽改变顺序,无需引入外部库
  • Android Framework AMS(16)进程管理
  • NoSQL数据库与关系型数据库的主要区别
  • ElasticSearch介绍+使用
  • 3. Python计算水仙花数
  • 利士策分享,赚钱与体重:一场关于生活平衡的微妙探索
  • 云计算服务的底层,虚拟化技术的实现原理
  • 假期学习--iOS 编译链接
  • 如何挑选一款性价比高的开放式耳机?高性价比宝藏蓝牙耳机推荐
  • 吸浮毛宠物空气净化器推荐,希喂、小米、有哈宠物空气净化器测评
  • 句子成分——每日一划(八)
  • 算法:30.串联所有单词的子串
  • 【MySQL】SQL语句的优化
  • Keil MDK5学习记录
  • 自定义Spring Security认证处理的完整解决方案
  • 2024ICPC第一场网络赛补题
  • 思通数科开源智能文档识别平台的核心功能
  • 在Linux服务器上如何实现自动化部署?
  • 【车载以太网】【SOME/IP】Wireshark 解析
  • Maven 的多种打jar包方式详细介绍、区别及使用教程——附使用命令
  • 分类预测|基于哈里斯鹰优化最小二乘支持向量机的数据分类预测Matlab程序HHO-LSSVM多特征输入多类别输出
  • 软件编程随想
  • 数据库MySQL、Mariadb、PostgreSQL、MangoDB、Memcached和Redis详细介绍