每日一练(力扣)

我的思路是暴力枚举:

情况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;
    }
相关推荐
好度18 小时前
配置java标准环境?(详细教程)
java·开发语言
Sheep Shaun18 小时前
二叉搜索树(下篇):删除、优化与应用
数据结构·c++·b树·算法
极简车辆控制18 小时前
基于LQR全主动七自由度全车悬架车身姿态控制
算法
teacher伟大光荣且正确18 小时前
关于Qt QReadWriteLock(读写锁) 以及 QSettings 使用的问题
java·数据库·qt
nightseventhunit18 小时前
base64字符串String.getByte导致OOM Requested array size exceeds VM limit
java·oom
s090713618 小时前
常用FPGA实现的图像处理算法
图像处理·算法·fpga开发
鱼鱼块18 小时前
二叉搜索树:让数据在有序中生长的智慧之树
javascript·数据结构·面试
core51218 小时前
SVM (支持向量机):寻找最完美的“分界线”
算法·机器学习·支持向量机·svm
悟能不能悟18 小时前
java map判断是否有key,get(key)+x,否则put(key,x)的新写法
java·开发语言
webbodys18 小时前
Python文件操作与异常处理:构建健壮的应用程序
java·服务器·python