做网站购买服务器吗进一步网站建设

张小明 2026/1/10 4:56:20
做网站购买服务器吗,进一步网站建设,绥芬河建设工程网站,石家庄哪里有网站推广LeetCode 100天挑战 Day 1#xff1a;字符串匹配与Z字形变换 目录 题目一#xff1a;实现strStr函数题目二#xff1a;Z字形变换总结 前言 欢迎来到我的LeetCode算法100天挑战专栏#xff01;在接下来的100天里#xff0c;我会每天分享两道LeetCode题目的解析。今天我们…LeetCode 100天挑战 Day 1字符串匹配与Z字形变换目录题目一实现strStr函数题目二Z字形变换总结前言欢迎来到我的LeetCode算法100天挑战专栏在接下来的100天里我会每天分享两道LeetCode题目的解析。今天我们来看两道字符串处理的题目。题目一实现strStr函数题目描述给你两个字符串 haystack 和 needle 请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标下标从 0 开始。如果 needle 不是 haystack 的一部分则返回 -1。示例 1输入haystack sadbutsad, needle sad 输出0 解释sad 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 所以返回 0。示例 2输入haystack leetcode, needle leeto 输出-1 解释leeto 没有在 leetcode 中出现所以返回 -1。解题思路这道题的思路很直接遍历haystack字符串从每个位置开始检查是否能匹配needle如果找到匹配返回当前位置如果遍历完都没找到返回-1代码实现分析classSolution{publicintstrStr(Stringhaystack,Stringneedle){intlen1haystack.length();intlen2needle.length();// 从haystack的每个位置开始检查for(inti0;ilen1-len2;i){// 提取从i开始的长度为len2的子串和needle比较if(needle.equals(haystack.substring(i,ilen2))){returni;}}return-1;}}代码逐行解释int len1 haystack.length();- 获取haystack的长度int len2 needle.length();- 获取needle的长度for(int i 0; i len1 - len2; i)- 遍历haystacki代表当前检查的起始位置循环条件确保不会越界比如haystack长度是8needle长度是3只需要检查到位置5即可haystack.substring(i, i len2)- 提取子串needle.equals(...)- 比较字符串是否相等找到匹配返回位置否则返回-1测试用例示例1haystack “sadbutsad”, needle “sad”i 0: substring(0, 3) “sad”匹配成功返回 0示例2haystack “leetcode”, needle “leeto”遍历所有可能位置都不匹配返回 -1题目二Z字形变换题目描述将一个给定字符串 s 根据给定的行数 numRows 以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时排列如下P A H N A P L S I I G Y I R之后你的输出需要从左往右逐行读取产生出一个新的字符串比如“PAHNAPLSIIGYIR”。示例 1输入s PAYPALISHIRING, numRows 3 输出PAHNAPLSIIGYIR示例 2输入s PAYPALISHIRING, numRows 4 输出PINALSIGYAHRPI 解释 P I N A L S I G Y A H R P I解题思路这个题目需要模拟Z字形排列的过程首先计算需要多少列来容纳所有字符创建一个二维数组来模拟Z字形排列按照Z字形的规律填充字符最后按行读取结果Z字形排列的规律垂直向下从第0行到第numRows-1行斜向上从第numRows-2行到第1行重复这个过程代码实现分析classSolution{publicStringconvert(Strings,intnumRows){// 特殊情况只有一行时直接返回原字符串if(numRows1){returns;}intindex0;// 当前处理到字符串的哪个位置intcycleLen2*numRows-2;// 一个完整周期的长度intcycleColsnumRows-1;// 一个完整周期占的列数intfullCycless.length()/cycleLen;// 完整周期数intremainders.length()%cycleLen;// 剩余字符数// 计算需要的列数intlistfullCycles*cycleCols;if(remainder0){list;if(remaindernumRows){list(remainder-numRows);}}// 创建二维数组存储Z字形char[][]tempnewchar[numRows][list];inthight0;// 填充Z字形for(inti0;ilist;i){if(indexs.length()){break;}// 垂直向下的列if(i%(numRows-1)0){for(hight0;hightnumRowsindexs.length();hight){temp[hight][i]s.charAt(index);index;}hightnumRows-1;continue;}else{// 斜向上的列hight--;temp[hight][i]s.charAt(index);index;}}// 按行读取结果Stringans;for(inti0;itemp.length;i){for(intj0;jlist;j){if(temp[i][j]!0){anstemp[i][j];}}}returnans;}}代码逐行解释特殊情况处理if(numRows1){returns;}只有一行时Z字形就是原字符串。计算基本参数intcycleLen2*numRows-2;// 一个完整周期的长度intcycleColsnumRows-1;// 一个完整周期占的列数周期长度向下numRows-1步向上numRows-1步周期列数需要numRows-1列计算所需列数intfullCycless.length()/cycleLen;intremainders.length()%cycleLen;intlistfullCycles*cycleCols;计算完整周期和剩余字符需要的列数。创建二维数组char[][]tempnewchar[numRows][list];填充Z字形if(i%(numRows-1)0){// 垂直向下的列for(hight0;hightnumRowsindexs.length();hight){temp[hight][i]s.charAt(index);index;}}else{// 斜向上的列hight--;temp[hight][i]s.charAt(index);index;}垂直列从上到下填充斜向列只有一个字符位置逐渐上移按行读取结果Stringans;for(inti0;itemp.length;i){for(intj0;jlist;j){if(temp[i][j]!0){anstemp[i][j];}}}示例分析示例1s “PAYPALISHIRING”, numRows 3Z字形排列P A H N A P L S I I G Y I R按行读取PAHNAPLSIIGYIR总结今天的两道题目都是字符串处理的基础题目strStr函数考察字符串的基本操作和边界处理Z字形变换考察二维数组的模拟和规律发现两道题都需要仔细处理边界条件通过模拟实际过程来解决问题。这种思路在解决算法问题时很有用。标签#LeetCode #算法 #Java #字符串 #数组
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

dedecms建手机网站流程湖南建设职称报考在哪个网站

Windows 10 系统备份、恢复与还原全攻略 在使用 Windows 10 系统的过程中,数据的安全至关重要。系统可能会遭遇各种问题,如硬件故障、软件错误或人为误操作,这些都可能导致数据丢失或系统无法正常运行。因此,掌握系统备份、恢复和还原的方法是非常必要的。本文将详细介绍 …

张小明 2025/12/26 6:00:18 网站建设

国家建设材料检测网站青岛营销网站建设

装饰器的本质是一个高阶函数,它接收一个函数作为参数,并返回一个新函数来替代原函数。这个新函数需要: 保留原函数的调用方式(参数和返回值)。在原函数执行前后添加额外逻辑(如计时、日志等)。…

张小明 2025/12/26 6:00:19 网站建设

flash个人音乐网站模板源码wordpress的主机要求

在信息碎片化、检索精准度需求升级的背景下,传统简易检索工具存在 “匹配效率低、结果排序杂乱、不支持多维度筛选” 的痛点,基于 Python 构建的轻量级搜索引擎,整合网络爬虫、倒排索引、关键词匹配等核心技术,适配普通用户、内容…

张小明 2025/12/26 6:00:20 网站建设

广州网站建设小程序开发怎么在抖音上卖东西

在人工智能领域大模型参数竞赛愈演愈烈的当下,如何让先进的AI技术摆脱对高昂硬件资源的依赖,实现“随处可用”的普惠化部署,成为行业发展的关键命题。10月17日,腾讯混元大模型迎来重大突破,正式对外开源四款不同参数规…

张小明 2025/12/26 6:00:18 网站建设

如何做网站程序加强局门户网站建设

微软 Windows Vista 使用指南:账户管理与数据保护 临时提升账户权限 标准用户在某些时候可能需要执行一些通常受限的操作,比如安装新程序。幸运的是,只要有管理员密码持有者提供授权,标准用户无需注销当前账户、切换到管理员账户,就能执行受限操作。 当标准用户尝试执行…

张小明 2025/12/26 6:00:21 网站建设