使用c#语言建设网站优点学网站开发好不好

pingmian/2025/10/8 22:54:31/文章来源:
使用c#语言建设网站优点,学网站开发好不好,宁波品牌网站推广优化,自适应网站开发语言文章目录 一、题目二、C# 题解 一、题目 给你两个字符串 haystack 和 needle #xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标#xff08;下标从 0 开始#xff09;。如果 needle 不是 haystack 的一部分#xff0c;则返回 -1 。 点击此处跳转… 文章目录 一、题目二、C# 题解 一、题目 给你两个字符串 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 。 提示 1 haystack.length, needle.length 104haystack 和 needle 仅由小写英文字符组成 二、C# 题解 题目直接调用库函数即可。这里复习一下 KMP 算法首先构造 next 数组。注意next 数组长度为 needle 1。采取这样的做法是为了使后缀指针 j 不会指向 -1这里 next[0] 的位置就充当了 next[-1] 的位置以免数组越界报错。   为什么 j 一定要指向 -1 呢不可以指向 0 就停止回退吗不行因为 j 指向 0 时无法区分 j 此时是回退到 0此时 j 不应该 1因为下一次还要指向第一个字符即 j 0还是指前后缀的最后一位相等此时 j 应该 1下一次 j 1。   正因 next 数组长度为 needle 1else j next[j 1] - 1; 该段代码需要对 j 先 1取出 next 值后再 -1。完整代码如下 public class Solution {public int StrStr(string haystack, string needle) {int[] next GetNext(needle); // 获取 next 数组int i 0, j 0; // i 指向 haystackj 指向 needlewhile (i haystack.Length) {// j 回退到 -1 或字符相同则进行下一位匹配if (j -1 || haystack[i] needle[j]) { i; j; }else j next[j 1] - 1; // 否则j 依据 next 数组回退if (j needle.Length) return i - j; // j 遍历完 needle返回 needle 起始位置}return -1;}// 获取 next 数组public int[] GetNext(string needle) {int[] next new int[needle.Length 1]; // next 长度为 needle 1next[0] 空着作用是避免 j 越界next[1] 0; // next[1,n] 存储 needle 对应的字符下标int i 1, j 0; // i 指向 needle[0,i] 后缀末尾j 指向 needle[0,i] 前缀末尾while (i needle.Length) {// j 回退到 0 或后缀相同则 i、j 一同前进并给 next 赋值if (j 0 || needle[i - 1] needle[j - 1]) next[i] j;else j next[j]; // 否则j 回退}return next;} }时间复杂度 O ( m n ) O(mn) O(mn)其中 m m m 为 haystack 长度n 为 needle 长度。空间复杂度 O ( n ) O(n) O(n)。 《大话数据结构》中提到了 KMP 的优化改动为 GetNext 函数中的如下代码即加了一行判断处理。下面对改代码做出简略解释 // j 回退到 0 或后缀相同则 i、j 一同前进并给 next 赋值if (j 0 || needle[i - 1] needle[j - 1]) if (needle[i] needle[j]) next[i] next[j];else next[i] j;else j next[j]; // 否则j 回退即判断前后缀后一个字符是否相同。如果相同直接将之前的 next 结果复制过来否则按照之前的处理即可。下面举例说明这样做的正确性图中黑色箭头表示 i红色箭头表示 j。 可以看到最后一位不相同按照原本的规则next[6] 应取 3绿色箭头指向位置从 1 开始计数。但是由于前缀和后缀都是 ab且其后一位均为 e。因此将 next[6] 赋值为 next[3]即 next[6] next[3] 1。   为什么可以这样呢因为 next[6] 是 e已经不匹配了那么跳到相同字符的 next[3] 处也一定不匹配因此直接跳到 next[next[3]]蓝色箭头指向位置就好啦完整代码如下 public class Solution {public int StrStr(string haystack, string needle) {int[] next GetNext(needle); // 获取 next 数组int i 0, j 0; // i 指向 haystackj 指向 needlewhile (i haystack.Length) {// j 回退到 -1 或字符相同则进行下一位匹配if (j -1 || haystack[i] needle[j]) { i; j; }else j next[j 1] - 1; // 否则j 依据 next 数组回退if (j needle.Length) return i - j; // j 遍历完 needle返回 needle 起始位置}return -1;}// 获取 next 数组public int[] GetNext(string needle) {int[] next new int[needle.Length 1]; // next 长度为 needle 1next[0] 空着作用是避免 j 越界next[1] 0; // next[1,n] 存储 needle 对应的字符下标int i 1, j 0; // i 指向 needle[0,i] 后缀末尾j 指向 needle[0,i] 前缀末尾while (i needle.Length) {// j 回退到 0 或后缀相同则 i、j 一同前进并给 next 赋值if (j 0 || needle[i - 1] needle[j - 1]) {if (needle[i] needle[j]) next[i] next[j];else next[i] j;}else j next[j]; // 否则j 回退}return next;} }时间复杂度 O ( m n ) O(mn) O(mn)。空间复杂度 O ( n ) O(n) O(n)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/90184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信开发小程序开发网站建设项目名称

原文网址:Docker--network命令的用法_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Docker的network网络命令的用法。 官网网址 docker network | Docker Documentation 命令概述 所有命令 命令名称 说明 docker network connect 将容器连接到网络 dock…

你愿意做我女朋友吗表白网站北京4网站建设

前言:很多时候我们需要在运行时,动态地改变控件的位置以及大小,以获得更好的布局。比如说实际项目中的可自定义的报表、可自定义的单据等诸如此类。它们有个特点就是允许客户或者二次开发人员设计它们需要的界面设置功能。本人以前也做过可自…

仿起点小说网站开发怎么建设手机小说网站

BAT批处理一键生成APK包脚本分享将本bat放到cocos2dx目录下你的工程的project.android下(需修改变量)。ASmaker 用来将Resources文件夹下的lua文件批量加密 算法参考我之前的rc4算法实现。每次打包apk前 svn 最新的工程代码 和 cocos2dx引擎代码。echo offrem 工具路径set JAVA…

坪地做网站网站开发有哪些新技术

4月全国高等教育自学考试计算机网络与通信试题及答案解析.docx精品自学考试资料推荐全国 2018 年 4 月高等教育自学考试计算机网络与通信试题课程代码 02339一、单项选择题本大题共 15 小题,每小题1 分,共 15 分 在每小题列出的四个备选项中只有一个是符…

网站内容建设运维服务wordpress中怎么排序

一、window定时器 1.window定时器方法 有时我们并不想立即执行一个函数,而是等待特定一段时间之后再执行,我们称之为“计划调用(scheduling a call)”。 目前有两种方式可以实现: setTimeout 允许我们将函数推迟到一…

有什么好的做家常菜的网站个人网站注册步骤图解

Microsoft 更新了其搜索引擎 Bing,采用了由 OpenAI 的 GPT-4 模型提供支持的人工智能 (AI) 技术。 这意味着您现在可以与 Bing 聊天。而且,除了常规的链接列表外,搜索引擎还可以汇总互联网上的数据来回答您的问题。 …

protenus代做网站怎么在搜索引擎里做网站网页

【阿里云ECS】(一)云服务器上安装RStudio-server最近注册了阿里云个人版,打算研究研究shiny部署问题。进了阿里云ECS因为是Ubuntu16.04的对于安装R和RStudio还是要学习实践一下的。第一步,安装R语言。我们使用apt的方式进行安装,步…

国外服务器网站打开慢送网站建设

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1] 的最…

兼职网站编辑官方网站建设 磐石网络知名

题目描述 输入一个点Q和一条线段P1P2的坐标&#xff0c;判断这个点是否在该线段上。 输入 一行&#xff0c;共六个浮点数&#xff0c;依次表示Q&#xff0c;P1和P2的坐标。 输出 一行&#xff0c;一个字符数&#xff0c;“YES”或“NO”分别表示改点在或者不在线段上。 样…

工程建设动态管理网站渭南市住房和城乡建设部网站

some() 方法检查数组中的任何元素是否通过测试&#xff08;作为函数提供&#xff09;。 some() 方法对数组中存在的每个元素执行一次函数&#xff1a; 如果找到函数返回真值的数组元素&#xff0c;some() 返回真&#xff08;并且不检查剩余值&#xff09;否则返回 false 注释&a…

个人网站如果做linux网站建设模板

前言完成一个前后端分离项目&#xff0c;后端技术选型Rust的框架Actix-web&#xff0c;那么用这个框架完成后端代码它的项目目录很重要&#xff0c;今天就来着重介绍一下。目录结构下面是自己用Rust Actix-web框架写web后端的目录结构&#xff0c;如图所示&#xff1a;目录结构…

用python做网站开发的课程轻应用网站模板

文章来源&#xff1a;北京领邦智能装备股份公司 疫情发生以来&#xff0c;全国上下倾力奋战得到有效控制&#xff0c;科技抗疫逐渐成为有效抓手&#xff0c;而AI红外热成像测温仪无疑将成为抗疫一线的一把利剑&#xff0c;斩断疫情传播的途径。 需求引领技术变革 2003年非典后…

有没有一起做游戏棋牌网站的云谷系统网站开发

接前一篇文章&#xff1a;《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述&#xff08;5&#xff09; 4.1 PCIe总线的基础知识 与PCI总线不同&#xff0c;PCIe总线使用端到端的连接方式&#xff0c;在一条PCIe链路的两端只能各连接一个设备&#xff0c;这两个…

建设部规范公布网站2345浏览器网页版入口中文版

目录 1. 字体属性 1.1 设置字体家族 font-family 1.2 设置字体大小 font-size 1.3 设置字体粗细 font-weight 1.4 设置字体倾斜 font-style 2. 文本属性 2.1 设置文本颜色 color 2.2 文本对齐 text-align 2.3 文本装饰 text-decoration 2.4 文本缩进 text-indent 2.…

电子商务网站建设方案书响应式网站模版下载

翻译自 树动画示例 本章提供有关树动画示例的详细信息。您将了解场景中的所有元素是如何创建和动画的。 图4-1显示了带树的场景。 图4-1树动画 项目和要素 树动画项目由几个文件组成。每个元素&#xff0c;如树叶&#xff0c;草叶等&#xff0c;都是在不同的类中创建的。在…

网站建设问题表seo关键词排名优化的方法

题目描述 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例一 输入&#xff1a;nums [1,3,-1,-3,5,3,6,7], k 3 输出…

网站建设营销排名方案苏州微网站建设公司哪家好

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞验证方式一 curl方式二 bp抓包 说明内容漏洞编号CVE-2021-41773漏洞名称Apache HTTP 路径穿越漏洞漏…

建网站需要那些步骤网络联盟推广

CleanMyMac X是一款被广泛推荐的Mac电脑清理软件。以下是关于是否购买CleanMyMac X的几个关键点&#xff1a; 软件功能&#xff1a;CleanMyMac X具备多项功能&#xff0c;包括但不限于系统垃圾清理、缓存清理、恶意软件移除、隐私保护等。这些功能有助于保持Mac电脑的清洁和性能…

网站建设app开发公司手机表格制作软件

在计算机使用过程中&#xff0c;经常会遇到“msvcp120.dll丢失”的错误提示。这个错误提示通常出现在运行某些程序或游戏时&#xff0c;造成相关应用程序可能无法正常启动或运行。那么&#xff0c;究竟是什么原因导致了msvcp120.dll文件的丢失呢&#xff1f;本文将详细解析msvc…

南京网站制作公司网站 目录结构

#可以使用prefix参数&#xff0c;将abc.rpm包安装到/usr/bin目录下 rpm -i –prefix/usr/bin abc.rpm