IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 每日一练_52(2021.7.31) 实现strStr(). -> 正文阅读

[数据结构与算法]每日一练_52(2021.7.31) 实现strStr().

implement strStr()

给的难度是简单...其实也还不是那么简单!主要是能应用到KMP算法。数据结构学过,but 还给老师了!下午又复习了一遍。逛了一圈评论,个个都是人才,说话又好听。

(1.年轻人不讲码德:return haystack.indexOf(needle); 结束~睡觉~保养头发)

(2.一顿暴力猛如虎,一看提交5%)

详解链接:作者:AC_OIer
链接:https://leetcode-cn.com/problems/implement-strstr/solution/shua-chuan-lc-shuang-bai-po-su-jie-fa-km-tb86/
来源:力扣(LeetCode)

个人微改:

import java.util.Scanner;

public class implementStr_Kmp {
?? ?public static void main(String args[]) {
?? ??? ?Scanner sc = new Scanner(System.in);
?? ??? ?System.out.println("please enter your first string :");
?? ??? ?String a = sc.nextLine();
?? ??? ?System.out.println("please enter your second substring :");
?? ??? ?String b = sc.nextLine();
?? ??? ?int q = str(a,b);
?? ??? ?System.out.println("the index of the substring in your string :"+q);
?? ??? ?sc.close();
?? ?}
?? ?
?? ?static int str(String haystack,String needle) {
?? ??? ?//子串长度为0。
?? ??? ?if(needle.isEmpty()) return 0;
?? ??? ?int m = haystack.length(),n=needle.length();
?? ??? ?//加了一个"哨兵",下标比较日常了一点!
?? ??? ?haystack = " "+haystack;
?? ??? ?needle = " "+needle;
?? ??? ?char s[] = haystack.toCharArray();
?? ??? ?char p[] = needle.toCharArray();
?? ??? ?int next[] = new int[n+1];
?? ??? ?//构造next[]数组。
?? ??? ?for(int i=2,j=0;i<=n;i++) {
?? ??? ??? ?while(j>0 && p[i]!=p[j+1]) j=next[j];
?? ??? ??? ?if(p[i]==p[j+1]) j++;
?? ??? ??? ?next[i]=j;
?? ??? ?}
?? ??? ?//匹配过程。
?? ??? ?for(int i=1,j=0;i<=m;i++) {
?? ??? ??? ?while(j>0 && s[i]!=p[j+1]) j=next[j];
?? ??? ??? ?if(s[i]==p[j+1]) j++;
?? ??? ??? ?//匹配成功!
?? ??? ??? ?if(j==n) return i-n;
?? ??? ?}
?? ??? ?
?? ??? ?return -1;
?? ?}
}

测试结果:

please enter your first string :
hello
please enter your second substring :
ll
the index of the substring in your string :2

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:44:55  更:2021-08-01 14:47:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/14 6:51:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码