网站302跳转东莞网站平台后缀

张小明 2026/1/3 0:08:54
网站302跳转,东莞网站平台后缀,百度网站优点,怎么样下载网页上的视频面试经典150题之移除元素 一、题目 1.题目描述 给你一个数组 nums 和一个值 val#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k#xff0c;要通过此题你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。假设 nums 中不等于 val 的元素数量为 k要通过此题您需要执行以下操作更改 nums 数组使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。返回 k。2.题目分析这是一道移除数组中元素的题目我们需要做到原地移除但是题目说了不会去管超过我们返回给它的值之后的数字因此我们有两种思路一种是直接将所有等于val的数字全部都移动到第k个数之后并且这种方法是基于交换的即整个数组包含的数是没有变的另一种是将所有不等于val的数直接排到前K个而不管k之后是否有不等于val的数。下面我将介绍4种方法并且对我踩的一些坑也简要的说明。二、具体方法1.直接用remove函数解决whilevalinnums:nums.remove(val)returnlen(nums)由于remove函数能够直接删去列表中第一个匹配的值因此直接适用能够删去列表中所有等于val的值。这种方法相对简单但是前提是我们要知道remove函数的用法。2.新列表承接再替换num_true[iforiinnumsifi!val]foriinrange(len(num_true)):nums[i]num_true[i]returnlen(num_true)我们可以用一个全新的列表来讲数组中所有的符合要求的值全部都记录下来然后再讲这个新的列表的值按顺序插入到原来的列表中去。这种方法也很简单不太符合题目的要求因为题目要求原地排序不过在日常我们自己的代码中需要的时候可以使用。下面我将介绍两种相对来说比较有意思的方法3.以栈的思维来看数组defremoveElement(self,nums,val): :type nums: List[int] :type val: int :rtype: int stack_size0forxinnums:ifx!val:nums[stack_size]x stack_size1returnstack_size我们将nums数组看做一个栈在我们没有看这个数组之前我们没有确定栈里面的任意一个元素因此初始的栈的大小为0。然后我们遍历数组的元素如果这个元素不为val我们就把这个数组压入栈中并且将栈的大小也进行相应的调整。最后我们返回栈的大小。4.双指针置换法defremoveElement(self,nums,val): :type nums: List[int] :type val: int :rtype: int left0rightlen(nums)-1whileleftright:if(nums[left]val)and(nums[right]!val):tempnums[right]nums[right]nums[left]nums[left]temp left1right-1elif(nums[right]val):right-1else:left1returnleft这个方法的核心思路就是要设立两个指针一个一开始指向最左端一个刚开始指向最右端。然后将所有为val的值都移到数组的右边。如果左指针指向的值为val且有指针指向的值不为val的话我们就将左指针指向的值和有指针指向的值交换并且左指针右移右指针左移。不论左指针是否为val只要右指针为val就将右指针左移。这里我们可以具体的解释一下如果左指针指向的数不为val且右指针指向的值为val的话当前右指针指向的位置已经为val了所以我们要往前找到不是val的进行再进行操作。如果左右都是我们可以通过移动右指针来转换为第一种情况最后一种情况也就是左指针指向的不是并且右指针指向的也不是那么我们将左指针向右移动即可右指针不需要一定因为右指针指向的人这个地方还可以换成val但是现在没有换最后结束的条件就是左指针比右指针大了返回值就为左指针的数值。三、我踩的坑我一开始些的代码是下面这样的defremoveElement(self,nums,val): :type nums: List[int] :type val: int :rtype: int foriinnums:ifival:nums.remove(i)returnlen(nums)乍一看我的这个代码和前面的第一种方法的代码很像但是为什么我这样些就不行呢因为for i in nums 循环是基于列表迭代器实现的迭代器会按顺序读取列表的索引0→1→2→…。在循环中执行 nums.remove(i) 时列表长度变短、元素前移迭代器的指针会跳过部分元素导致漏删。后面我又尝试用for i in range (len(nums)):进行迭代 但是这样也是错的一旦在某次循环中又元素删除的话那么len(nums)就会随着改变会出现和上面一样的问题。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设需要敲代码吗网站网页的优化方法

NumPy二进制文件 save()、savez()和load()函数以 numpy 专用的二进制类型(.npy、.npz)保存和读取数据,这三个函数会自动处理ndim、dtype、shape等信息,使用它们读写数组非常方便,但是save()和savez()输出的文件很难与…

张小明 2025/12/31 4:32:24 网站建设

旅游网站开发方案ppt聚兴大宗商品交易平台

解决方案平面上有 个点,找到一条访问 个点的路径,使得路径的转角满足给定的转角序列。题解我们保持一个理想的状态:转向时,剩余的点都位于要求方向的一侧(即剩余点都符合当前这次的转向要求)。那么当前这…

张小明 2025/12/30 21:22:46 网站建设

网页的创新型网站策划wordpress图片lazyload

此扩展程序不再受支持?不如迁移到vLLM持续更新生态 在大模型应用加速落地的今天,许多团队正面临一个尴尬的局面:曾经支撑起第一波AI服务的推理框架,如今却成了系统性能的瓶颈。你是否也遇到过这样的场景——用户反馈响应变慢、GPU…

张小明 2025/12/31 4:53:15 网站建设

网页设计制作网站素材福州网建公司

Wan2.2-T2V-A14B模型的容器化封装与Kubernetes部署实践 在生成式AI迅猛发展的今天,文本到视频(Text-to-Video, T2V)技术正从实验室走向真正的工业级应用。影视制作、广告创意、虚拟内容生产等领域对高质量视频生成的需求日益增长,…

张小明 2025/12/30 15:22:24 网站建设

wordpress中文下载站百度免费做网站吗

交互式应用集成AI视频?试试Wan2.2-T2V-5B的低延迟生成 你有没有试过在聊天窗口里输入一句“一只熊猫在冲浪”,然后下一秒就看到一段活灵活现的小视频蹦出来?🤯 不是GIF,不是预制素材——是实时生成的、会动的、还带光影…

张小明 2025/12/31 23:09:43 网站建设

layui做移动网站建设学校网站前的需求分析报告

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 背景介绍 刷完机(【教程】网心云OES Plus刷机armbian)发现NAS功能不好搞,后来发现可以通过Docker来安装群晖NAS系统。 安装步骤 1. 验证是…

张小明 2025/12/31 4:53:18 网站建设