当前位置: 首页 > 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/news/310968.html

相关文章:

  • 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详细介绍
  • ARM64基础 -- 栈帧管理示例
  • 什么是轮播图?如何实现轮播图?有几种方法?
  • 图书馆座位预约系统小程序的设计
  • 1.2 测试基础
  • 小程序组件间通信
  • SQL案例分析:美联储降息前后的复利差距
  • linux-Linux 内核与模块管理-内核基础
  • 最新简洁大方的自动发卡网站源码/鲸发卡v11.61系统源码/修复版
  • 亲测有效,长期有效的RTSP流地址公网RTSP地址,各种类型的视频源
  • Flask-JWT-Extended登录验证, 不用自定义