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

DAY 44 leetcode 28--字符串.实现strStr()

题号28

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回  -1 

我的解法

双指针,slow定位,fast比较,成功则返回,失败则往前进

class Solution {public int strStr(String haystack, String needle) {if (needle.isEmpty()) {return 0;}int slow = 0;int fast = 0;int count = 0;int size1 = haystack.length();int size2 = needle.length();if (size1 < size2) {return -1;}while (fast < size1 - size2 + 1) {slow = fast;count = 0;for (int i = 0; i < size2; i++) {if (needle.charAt(i) == haystack.charAt(fast)) {fast++;count++;if (count == size2) {return slow;}} else {fast = slow + 1; // 移动fast指针到下一个可能的起始位置break;}}}return -1;}
}

相关文章:

DAY 44 leetcode 28--字符串.实现strStr()

题号28 给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返回 -1 。 我的解法 双指针&#xff0c;slow定位&…...

Nginx用途以及好处:

反向代理&#xff1a; 1、提高访问速度 2、进行负载均衡&#xff1a;所谓负载均衡&#xff0c;就是把大量的请求按照我们指定的的方式均衡的分配给集群中的每台服务器(不使用nginx前端会固定的访问某一台服务器 加入nginx分配到多台服务器) 3、保证后端的安全 服务器一般部署在…...

打造可控可测的星座网络:IPLOOK低轨通信仿真平台搭建实践

在低轨卫星通信迅猛发展的趋势下&#xff0c;空天地一体化网络正逐步成为新一代信息基础设施的核心组成。作为移动核心网领域的技术引领者&#xff0c;IPLOOK依托在5G核心网、NTN&#xff08;非地面网络&#xff09;和卫星通信仿真方面的技术优势&#xff0c;率先构建了自主可控…...

火车头采集动态加载Ajax数据(无分页瀑布流网站)

为了先填充好数据在上线&#xff0c;在本地搭建了一个网站&#xff0c;并用火车头采集数据填充到里面。 开始很上手&#xff0c;因为找的网站的分类中是有分页的。很快捷的找到页面标识。 但是问题来了&#xff0c;如今很多网站都是采用的Ajax加载数据&#xff0c;根本没有分…...

笔记:代码随想录算法训练营day67:Floyd 算法精讲、A * 算法精讲 (A star算法) 严重超时完结,不过,撒花

学习资料&#xff1a;代码随想录 Floyd 算法精讲 卡码网&#xff1a;97. 小明逛公园 首先明确floyd算法解决的是多源最短路径问题&#xff0c;对边的权的正负值没有要求&#xff0c;而且是动态规划的思想 五部曲&#xff1a; 定义&#xff1a;grid[i][j][k]表示从i出发到j…...

Electron Forge【实战】桌面应用 —— AI聊天(中)

系列教程 Electron Forge【实战】桌面应用 —— AI聊天&#xff08;上&#xff09; 添加本地存储 Dexie.js 用 IndexedDB 实现&#xff0c;Dexie.js 库简化操作 npm i dexie新建文件 src\db.ts import Dexie, { type EntityTable } from "dexie";import { Provide…...

国达陶瓷重磅推出陶瓷罗马柱外墙整装尖端新产品“冠岩臻石”

近日&#xff0c;记者在佛山国达建材有限公司&#xff08;以下简称国达陶瓷&#xff09;董事长杨建平处了解到&#xff0c;该公司重磅推出的“冠岩臻石”新产品&#xff0c;是属于陶瓷罗马柱外墙整装产品中的尖端产品。新产品自面市之后&#xff0c;深受高端用户的青睐与认可。…...

Java 系统设计:如何应对高并发场景?

Java 系统设计&#xff1a;如何应对高并发场景&#xff1f; 在现代互联网应用中&#xff0c;高并发场景已经成为系统设计中不可避免的挑战。无论是电商秒杀、抢票系统&#xff0c;还是实时数据处理平台&#xff0c;高并发场景都对系统的性能、稳定性和扩展性提出了极高的要求。…...

VR 全景多维赋能,众趣科技助力零售业开启购物新时代

说到商铺这个词&#xff0c;最早形成于春秋战国时期&#xff0c;当时还未形成固定位置的商铺&#xff0c;部分有远见的商人会在人流量较大的区域摆设摊位&#xff0c;促进了城市的繁荣‌。‌到了唐宋时期&#xff0c;商铺进一步发展‌&#xff0c;并随着商品经济的发展和城市人…...

五大生产模式(MTS、MTO、ATO、ETO、CTO)的差异

五大生产模式&#xff08;MTS、MTO、ATO、ETO、CTO&#xff09;差异 一、 库存控制二、 订货提前期三、交期与库存分析四、五大生产模式的产品生命周期 一、 库存控制 ETO 模式侧重于原材料库存管理&#xff0c;以应对定制设计所需的物料供应。 MTO 模式重点是原材料库存&…...

clickhosue中json字符串转为表

将json字符串直接通过sql转为表,这里就可以直接把接口来的数据,直接通过clickhouse进行关联查询了。 -- 将json字符串直接通过sql转为表,这里就可以直接把接口来的数据,直接通过clickhouse进行关联查询了。 WITH -- 解析 JSON 数据为字符串json_data AS (SELECT [{"c…...

二叉树的基本功能实现

一.二叉树的结构及实现 1.二叉树的结构 在之前的章节中已经介绍过&#xff0c;二叉树是一种特殊的树&#xff0c;其最大度为2&#xff0c;及最多有左&#xff0c;右两个孩子&#xff0c;结构图如下 在此之前已经讨论过一些特殊的二叉树&#xff0c;这里讨论一般的二叉树 2.…...

VSCode 降低适用版本并且关闭自动更新

VSCode 降低适用版本并且关闭自动更新 相关链接问题描述解决方法下载安装包关闭自动更新 参考链接 相关链接 VSCode 官网 问题描述 无法正常使用vscode-remote插件远程连接Centos7等一些老版本Linux云服务器&#xff08;如Centos7&#xff09; 从2024年1月&#xff0c;vsco…...

OpenHarmony - 小型系统内核(LiteOS-A)(二)

OpenHarmony - 小型系统内核&#xff08;LiteOS-A&#xff09;&#xff08;二&#xff09; 三、基础内核 3.1、中断及异常处理 基本概念 中断是指出现需要时&#xff0c;CPU暂停执行当前程序&#xff0c;转而执行新程序的过程。即在程序运行过程中&#xff0c;出现了一个必须…...

2025第十六届蓝桥杯PythonA组部分题解

试题A&#xff1a;数字求和 题目描述 给定两个整数a和b&#xff0c;输出它们的和。 输入格式&#xff1a;两个整数&#xff0c;空格分隔 输出格式&#xff1a;一个整数 输入输出样例 输入&#xff1a; 5 8输出&#xff1a; 13解题思路 直接使用加法运算符计算两数之和。…...

苍穹外卖day04

Spring Task实现定时处理订单状态 作用&#xff1a;不需要输入提示信号&#xff0c;便可定时自动执行程序 使用步骤 1、启动类上加上注解&#xff08;EnableScheduling&#xff09;开启定时任务调度 2、专门创建一个包来管理执行定时任务的类&#xff0c;该类需要交给IOC容…...

曲线与曲面的绘制

一、学习目标 &#xff08;1&#xff09;掌握常用规则参数曲线与曲面的编程绘制方法。 &#xff08;2&#xff09;掌握自由曲线与曲面的编程绘制方法。 &#xff08;3&#xff09;了解自由曲面的拼接编程方法。 二、学习内容 &#xff08;1&#xff09;编程绘一个规则参数…...

Python Cookbook-6.2 定义常量

任务 你需要定义一些模块级别的变量(比如命名的常量)&#xff0c;而且客户代码无法将其重新绑定。 解决方案 你可以把任何对象当做模块一样安装。将下列代码存为一个模块const.py&#xff0c;并放入你的Python的sys.path 指定的目录中: class _const(object):class ConstEr…...

【信息系统项目管理师】高分论文:论信息系统项目的范围管理(信息化系统综合管理平台)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划范围管理2、收集需求3、定义范围4、创建WBS5、确认范围6、控制范围论文 2017年6月,我作为项目经理参与了 XX市经济和信息化委员会系统综合管理平台建设项目,该项目投资共150万元人民币,建设工期…...

用Webpack 基础配置快速搭建项目开发环境

Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具&#xff0c;但是Webpack有大量的配置项&#xff0c;对新手不太友好&#xff0c;但是我们可以根据webpack-cli的init命令根据项目需求快速生成webpack的配置文件&#xff0c;本文将手把手教你如何用 Webpack 和 npm 快…...

【LLM Agent】SystemMessage 和 HumanMessage

文章目录 SystemMessage 和 HumanMessageSystemMessage&#xff08;系统消息&#xff09;HumanMessage&#xff08;用户消息&#xff09;结合使用高级设置能否将用户消息&#xff08;HumanMessage&#xff09;写在系统消息&#xff08;SystemMessage&#xff09; SystemMessage…...

机器学习核心知识:从基础概念到关键算法

摘要 本文深度剖析机器学习知识体系&#xff0c;从基本概念、学习方式&#xff0c;到分类算法、逻辑回归等关键内容均有涉及。详细阐述各知识点原理与应用场景&#xff0c;并对比多种算法的优劣。 关键词&#xff1a;机器学习&#xff1b;监督学习&#xff1b;分类算法&#x…...

信奥赛之c++基础(for与if的嵌套使用)

🍭 糖果工厂大闯关——for与if的嵌套魔法 🚚 第一章:快递站的故事(情景引入) 📦 快递分拣员小明 快递站每天要处理100个包裹,小明发现: 有些包裹要立即派送(红色标签)有些包裹可以暂存仓库(蓝色标签)for (int 包裹号=1; 包裹号<=100; 包裹号++) {if (包裹颜…...

凡泰极客亮相QCon2025鸿蒙专场,解析FinClip“技术+生态”双引擎

2025年4月10日&#xff0c;备受瞩目的QCon开发者技术峰会盛大举行&#xff0c;本次活动开设鸿蒙专场以“HarmonyOS NEXT 创新特性与行业实践”为主题&#xff0c;汇聚了众多鸿蒙生态的领军人物与技术专家&#xff0c;共同探讨鸿蒙操作系统的技术创新与行业应用。 凡泰极客CTO徐…...

day25 学习笔记

文章目录 前言一、图像翻转二、图像的仿射变换1.仿射变换的原理2.仿射变换函数3.图像旋转4.图像平移5.图像缩放6.图像剪切 三、插值方法1.最近领插值2.双线性插值法3.双三次插值4.代码展示 前言 通过今天的学习&#xff0c;我掌握了OpenCV中有关图像翻转&#xff0c;图像仿射变…...

Docker构建go-web应用

https://www.liwenzhou.com/posts/Go/deploy-in-docker/#c-0-4-0 本文介绍了如何使用Docker以及Docker Compose部署我们的 Go Web 程序。 Docker部署示例 准备代码 这里我先用一段使用net/http库编写的简单代码为例讲解如何使用Docker进行部署&#xff0c;后面再讲解稍微复杂…...

人工智能100问☞第4问:人工智能与机器学习、深度学习的区别?

目录 一、通俗解释 二、专业解析 三、权威参考 人工智能(AI)是目标​​:让机器具备智能(如建造一辆车);机器学习(ML)是引擎​​:提供动力方法(如燃油发动机);深度学习(DL)是涡轮增压​​:提升引擎性能(如处理复杂路况)。三者协同驱动技术发展,如同车辆需要…...

电子电器架构 --- 智能座舱的定义

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…...

JavaScript Map 对象深度解剖

JavaScript Map 对象深度解剖 一、Map 核心特性 1.1 什么是 Map&#xff1f; 通俗解释&#xff1a; Map 就像是一个“超级版对象”&#xff0c;它用更灵活的方式存储键值对。举个生活例子&#xff1a; 普通对象&#xff08;Object&#xff09;像一本传统电话簿&#xff0c;…...

zlm启用webrtc交叉编译指南

zlm启用webrtc交叉编译指南 一、交叉编译openssl 下载openssl-1.1.1k版本&#xff0c;其他版本可能会有问题 $ wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz $ tar -xvzf openssl-1.1.1k.tar.gz $ cd openssl-1.1.1k $ ./config no-asm shared --openssld…...

树莓派超全系列教程文档--(23)内核参数

内核参数 内核命令行 (cmdline.txt)命令行选项标准条目设置KMS显示模式 其他条目 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 内核命令行 (cmdline.txt) Linux 内核在启动过程中接受一系列命令行参数。在 Raspberry Pi 上&#xff0c;该命令…...

机器学习 从入门到精通 day_05

1. 线性回归 前面介绍了很多分类算法&#xff0c;分类的目标变量是标称型数据&#xff0c;回归是对连续型的数据做出预测。 标称型数据&#xff08;Nominal Data&#xff09;是统计学和数据分析中的一种数据类型&#xff0c;它用于分类或标记不同的类别或组别,数据点之间并没有…...

读者、写者问题优化

#include <stdio.h> #include <time.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #include <semaphore.h> #define NUM_READERS 5 #define NUM_WRITERS 5 // 定义信号量和全局变量 sem_t sdata, srcount; int rea…...

DeepSeek-V3与DeepSeek-R1架构原理及应用对比分析

DeepSeek-V3与DeepSeek-R1架构原理及应用对比分析 DeepSeek作为中国人工智能领域的重要参与者&#xff0c;推出了V3和R1两款大模型&#xff0c;它们在架构设计和应用场景上各有侧重。本文将深入分析这两款模型在架构原理上的核心差异&#xff0c;并探讨它们如何分别应对复杂推…...

OpenCV图像增强实战教程:从理论到代码实现

OpenCV图像增强实战教程&#xff1a;从理论到代码实现 &#x1f525;&#x1f680; &#x1f4da; 想要掌握图像增强的核心技术&#xff1f;本文手把手教你使用OpenCV实现多种图像增强技术&#xff0c;从基础的线性变换到高级的频域滤波&#xff0c;全方位提升你的图像处理能力…...

一文介绍关于多模态的基础知识 !!

文章目录 前言 一、机器学习 二、深度学习 三、应用领域 前言 多模态不再局限于单一类型的数据处理&#xff0c;它融合图像、文本和音频等多种信息源。其基础知识涵盖机器学习、深度学习及其在多模态领域的应用。机器学习部分包含分类、回归、聚类和降维等四类算法&#xff1b…...

mysql DQL

一.基本查询 1.查询多个字段 2.查看所有字段 3.设置别名 4.去除重复记录 二.条件查询 1.大于小于等于 2.查询 身份证为空的 没有所以没有记录 3.在15到20这个区间范围内 4.or/in 或者 4.like 匹配 &#xff08;_匹配单个字符 %匹配多个字符&#xff09; 查询员工信…...

Android Studio 项目文件夹结构详解

文章目录 一、项目视图概览1. Android 视图&#xff08;简化视图&#xff09;2. Project 视图&#xff08;完整物理结构&#xff09; 二、核心目录详解1. 项目根目录文件2. app 模块目录&#xff08;主模块&#xff09;2.1 manifests/2.2 java/2.3 res/ - 资源目录2.4 assets/2…...

Linux系统常见磁盘扩容操作(Common Disk Expansion Operations in Linux Systems)

Linux系统常见磁盘扩容操作 目录说明 一、准备工作&#xff1a;获取目标磁盘信息 &#xff08;1&#xff09;确认分区表格式和文件系统 二、扩容已有MBR分区 &#xff08;1&#xff09;分区后扩容 ext为例 xfs为例 三、扩容已有GPT分区 &#xff08;1&#xff09;分区…...

【UE5 C++】“ProceduralMeshComponent”的使用记录

效果 如下所示&#xff0c;通过“ProceduralMeshComponent”创建了一个自定义形状的Mesh&#xff0c;并且该Mesh包含碰撞信息&#xff0c;然后2s后更新Mesh形状。 步骤 1. 在“xxx.Build.cs”中引入“ProceduralMeshComponent”模块 2. 新建一个Actor类&#xff0c;这里命名为…...

源代码加密之零日攻击

# SDC沙盒&#xff1a;有效防御零日攻击的多层防护体系 在当今复杂多变的网络安全环境中&#xff0c;零日攻击已成为企业面临的重大威胁之一。零日攻击利用尚未被公众发现或尚未被软件供应商修复的漏洞进行攻击&#xff0c;具有极高的隐蔽性和破坏性。SDC沙盒作为一种先进的数…...

Vue2 集成VTK.js 并显示3D影像

Vue2 集成VTK.js 并显示3D影像&#xff08;核心代码) 作者:coder_fang vtk.js目前官网只有vue3的示例&#xff0c;对于已有vue2系统的集成&#xff0c;需要使用指定版本的vtk,itk等库并修改部分配置即可。 需要的主要库和版本: vue:2.3.4; vtk-v32.9.0.min.js,itk-wasm.min.…...

本地git操作

一、初始化与基础操作 1. 初始化仓库 git init # 当前目录新建仓库 git init <目录名> # 指定目录初始化 2. 查看状态 git status # 显示工作区和暂存区状态 git status -s # 简洁版状…...

AI的出现,是否能替代IT从业者?

*AI在IT领域中的应用已成趋势&#xff0c;IT 从业者们站在这风暴之眼&#xff0c;面临着一个尖锐问题&#xff1a;AI 是否会成为 “职业终结者”&#xff1f;有人担忧 AI 将取代 IT 行业的大部分工作&#xff0c;也有人坚信 IT 从业者的专业技能与创新思维无可替代。那么&#…...

3、组件:魔法傀儡的诞生——React 19 组件化开发全解析

一、开篇&#xff1a;魔法傀儡的觉醒 "每个React组件都像一具魔法傀儡&#xff0c;"邓布利多校长挥动魔杖&#xff0c;空中浮现出闪烁的代码字符&#xff0c;"它们能自主思考、协同工作&#xff0c;甚至能跨越时空&#xff08;服务器与客户端&#xff09;执行任…...

Vue 解决 Error: please transfer a valid prop path to form item!

在 Vue.js 中使用表单验证库&#xff08;如 VeeValidate 或 Element UI 的表单组件时&#xff09;&#xff0c;遇到错误信息 "please transfer a valid prop path to form item!" 通常指的是在表单项的属性绑定中&#xff0c;路径&#xff08;prop path&#xff09;不…...

day29 第八章 贪心算法 part03

134. 加油站 “可以换一个思路&#xff0c;首先如果总油量减去总消耗大于等于零那么一定可以跑完一圈&#xff0c;说明 各个站点的加油站 剩油量rest[i]相加一定是大于等于零的。 每个加油站的剩余量rest[i]为gas[i] - cost[i]。 i从0开始累加rest[i]&#xff0c;和记为curSum…...

贪心算法(19)(java)重构字符串

题目&#xff1a;给定一个字符串 s &#xff0c;检查是否能重新排布其中的字母&#xff0c;使得两相邻的字符不同。 返回 s 的任意可能的重新排列。若不可行&#xff0c;返回空字符串 "" 。 示例 1: 输入: s "aab" 输出: "aba"示例 2: 输入:…...

Linux下C语言与OpenGL游戏开发指南

1. 为什么选择 Linux C OpenGL&#xff1f; 跨平台兼容性&#xff1a;OpenGL 是跨平台的图形 API&#xff0c;编写的代码稍作修改即可在 Windows/macOS 上运行。 性能控制&#xff1a;C 语言提供底层内存管理和硬件访问能力&#xff0c;适合高性能游戏开发。 开源生态&…...

深入 Java 正则表达式源码:透视 Matcher.group(int) 的分组提取机制

在 Java 中&#xff0c;正则表达式无疑是文本处理的重要工具。而 Matcher.group(int group) 是其中非常关键的一个方法&#xff0c;它用于提取正则中的分组内容。今天我们不仅通过一个例子来看它的使用方法&#xff0c;还会结合底层源码&#xff0c;深入理解它背后的机制。 实…...