每日一练(力扣)

我的思路是暴力枚举:

情况1:相同,就让子串和原串同时后移继续比较

情况2:不相同,就只让原串后移

java 复制代码
public int strStr(String haystack, String needle) {
        if (haystack.length() < needle.length()){
            return -1;
        }
        for (int i = 0; i <= haystack.length() - needle.length(); i++) {
            int j = 0;
            //要使: i + j 不越界 因为j!=needle.length()  所以i 可以 =  haystack.length() - needle.length()
            while (j < needle.length() && haystack.charAt(i + j) == needle.charAt(j)){
                j++;
            }
            if (j == needle.length()){//最后一个元素也判断完
                return i;
            }
        }
        return -1;
    }
相关推荐
好度3 分钟前
配置java标准环境?(详细教程)
java·开发语言
Sheep Shaun4 分钟前
二叉搜索树(下篇):删除、优化与应用
数据结构·c++·b树·算法
极简车辆控制5 分钟前
基于LQR全主动七自由度全车悬架车身姿态控制
算法
teacher伟大光荣且正确8 分钟前
关于Qt QReadWriteLock(读写锁) 以及 QSettings 使用的问题
java·数据库·qt
nightseventhunit10 分钟前
base64字符串String.getByte导致OOM Requested array size exceeds VM limit
java·oom
s090713613 分钟前
常用FPGA实现的图像处理算法
图像处理·算法·fpga开发
鱼鱼块16 分钟前
二叉搜索树:让数据在有序中生长的智慧之树
javascript·数据结构·面试
core51220 分钟前
SVM (支持向量机):寻找最完美的“分界线”
算法·机器学习·支持向量机·svm
悟能不能悟26 分钟前
java map判断是否有key,get(key)+x,否则put(key,x)的新写法
java·开发语言
webbodys42 分钟前
Python文件操作与异常处理:构建健壮的应用程序
java·服务器·python