移除元素

文章目录

    • 移除元素
    • 删除有序数组中的重复项
    • 移动零
    • 比较含退格的字符串
    • 有序数组的平方

移除元素

在这里插入图片描述
双指针
删除指定项且不改变顺序

def removeElement(nums: list[int], val: int) -> int:
    fast = slow = 0
    while fast < len(nums):
        if nums[fast] != val:
            nums[slow] = nums[fast]
            slow += 1
        # 当 fast 指针遇到要删除的元素时停止赋值
        # slow 指针停止移动, fast 指针继续前进
        fast += 1
    return slow
nums = [0,1,2,2,3,0,4,2,2,2]
val = 2
print(removeElement(nums,val))

删除有序数组中的重复项

在这里插入图片描述
删除重复项且不改变顺序

def removeDuplicates(nums: list[int]) -> int:
    slow = 0
    for fast in range(len(nums)):
        if fast == 0:
            nums[slow] = nums[fast]
            slow += 1
        if fast >= 1:
            if nums[fast] != nums[fast - 1]:
                nums[slow] = nums[fast]
                slow += 1
    return slow

nums = [1,1,2]
print(removeDuplicates(nums))

或者:

def removeDuplicates(nums: list[int]) -> int:
    for i in range(len(nums) - 1, 0, -1):
        if nums[i] == nums[i - 1]:
            nums.pop(i)
    return len(nums)

nums = [0,0,1,1,1,2,2,3,3,4]
print(removeDuplicates(nums))

移动零

在这里插入图片描述
和题一一样操作

def moveZeroes(nums: list[int]) -> None:
    """
    Do not return anything, modify nums in-place instead.
    """
    slow, fast = 0, 0
    while fast < len(nums):
        if nums[fast] != 0:
            nums[slow] = nums[fast]
            slow += 1
        fast += 1
    for i in range(slow,len(nums)):
        nums[i] = 0
    return nums

nums = [0,1,0,3,12]
print(moveZeroes(nums))

比较含退格的字符串

在这里插入图片描述
想不到

def backspaceCompare(s: str, t:str) -> bool:
    i, j = len(s) - 1, len(t) - 1
    skipS, skipT = 0, 0
    while i >= 0 or j >= 0:
        # S循环
        while i >= 0:
            if s[i] == '#':
                skipS += 1
                i -= 1
            elif skipS > 0:
                skipS -= 1
                i -= 1
            else:
                break
        # T循环
        while j >= 0:
            if t[j] == '#':
                skipT += 1
                j -= 1
            elif skipT > 0:
                skipT -= 1
                j -= 1
            else:
                break
        a = "" if i < 0 else s[i] # a[-1] = a,所以不能有负索引
        b = "" if j < 0 else t[j]
        if a != b:
            return False
        i -= 1
        j -= 1
    return True


s = "aaa###a"
t = "aaaa###a"
print(backspaceCompare(s,t))

有序数组的平方


正负数平方排序

def sortedSquares(nums: list[int]) -> list[int]:
    for i in range(len(nums)):
        nums[i] = nums[i] * nums[i]
    nums.sort()
    return nums
nums = [-4,-1,0,3,10]
print(sortedSquares(nums))

或者:
在这里插入图片描述

def sortedSquares(nums: list[int]) -> list[int]:
    left = 0
    right = len(nums) - 1
    temp_lis = [-1] * len(nums)
    site = len(nums) - 1
    while left <= right:
        if nums[left] ** 2 < nums[right] ** 2:
            temp_lis[site] = nums[right] ** 2
            right -= 1
        else:
            temp_lis[site] = nums[left] ** 2
            left += 1
        site -= 1
    return temp_lis
nums = [-4,-1,0,3,10]
print(sortedSquares(nums))

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GEE:将数据设置为任何人可读

一些 Google Earth Engine(GEE) 平台的初学者在分享代码的时候&#xff0c;往往不会对代码中的数据设置成任何人可读。这会导致别人打开代码的时候无法正常运行代码&#xff0c;也就无法帮助你修改和调试代码。针对这个问题&#xff0c;本文记录了对 Assets 和 Imports 中的数据…

24年英语四六级报名,注意这5点否则报名失败

多地3月中旬后开始四六级报名&#xff0c;报名前注意这5点&#xff0c;否则报名失败&#xff01; 1、四六级名额有限?报名需要抢&#xff0c;没有抢到的考生可以提交“候补报名”&#xff0c;还有报名机会 2、有的学校则规定六级考到500分则不能再刷分。 3、很多大学的报名…

Tcl语言:基础入门(三)

相关阅读 Tcl语言https://blog.csdn.net/weixin_45791458/category_12488978.html?spm1001.2014.3001.5482 Tcl中的大括号 大括号{}可以使得被其包围的所有内容被解释为字面量&#xff0c;所以不会进行命令替换&#xff0c;转义符替换&#xff08;大部分情况的转义&#xff0…

视频监控管理系统EasyCVR平台设备增删改操作不生效是什么原因?

国标GB28181协议EasyCVR安防平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流&#xf…

气膜建筑是由什么材料制成的?PVDF膜材的革新应用值得期待吗?

随着科技的不断进步和发展&#xff0c;建筑行业也在不断涌现新型的建筑材料。气膜建筑作为其中一种创新的建筑膜材&#xff0c;在体育馆、运动场馆、展览厅等场所得到了广泛的应用。那么&#xff0c;究竟是什么材料构成了气膜建筑呢&#xff1f;轻空间小编将为您详细介绍。 气膜…

ELF技术贴|如何在开发板上实现对Java的支持

Java作为一种功能强大且广泛应用的编程语言&#xff0c;具有广泛的适应性和实用性。在ELF 1开发板上集成Java支持&#xff0c;无疑将赋予嵌入式开发者更广阔的选择空间&#xff0c;今天就为各位小伙伴详细解析如何在ELF 1开发板上成功部署和运行Java环境。 1.拷贝两个压缩包到E…

Caffeine本地缓存快速上手教程,通俗易懂

1. 概述 使用缓存的优点是可以减少直接访问数据库的压力。Caffeine是目前单机版缓存性能最高的&#xff0c;提供了最优的缓存命中率。用法和java中的map集合比较类似&#xff0c;底层使用一个ConcurrencyHashMap来保存所有数据&#xff0c;可以理解为一个增强版的map集合&…

基于SpringBoot的“留守儿童爱心网站”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“留守儿童爱心网站”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 宣传新闻界面图 志愿活动界面…

基于Spring Boot的校园管理系统 ,计算机毕业设计(带源码+论文)

源码获取地址&#xff1a; 码呢-一个专注于技术分享的博客平台一个专注于技术分享的博客平台,大家以共同学习,乐于分享,拥抱开源的价值观进行学习交流http://www.xmbiao.cn/resource-details/1767745870094217218

立式学习灯有什么讲究?大路灯原来要这样选,五大台灯分享!

立式学习灯作为近年来最适合照明的护眼家电&#xff0c;为用户提供了良好的光线环境&#xff0c;并且还能够减少光线带来的视觉疲劳感。然而&#xff0c;随着其销量的节节攀升商家为了谋取利润&#xff0c;市面上也涌现了很多劣质产品&#xff0c;这些产品普遍没有经过技术调教…

BEC报考公告 ,柯桥成人学商务英语,商务英语口语学校

BEC报考公告 报名时间 2024年3月12日10:00——2023年3月20日10:00 注册个人信息、上传电子照片并支付考试费用 考试时间 BEC初级&#xff1a;5月12日 BEC中级&#xff1a;5月25日 BEC高级&#xff1a;5月18日 笔试及口试具体时间以准考证为准 报名费用 初级&#xff1a;…

一键美化ppt的ai工具有哪些?推荐5款自动生成PPT的ai软件!

伴随着 ai 人工智能技术的发展&#xff0c;作为普通个体的我们&#xff0c;也有机会享受到技术发展带来的红利&#xff0c;比如用 ai 来润色文章&#xff0c;用 ai 来美化 ppt 演示文稿&#xff0c;用 ai 辅助进行数据分析等等&#xff0c;ai 的应用场景多种多样&#xff0c;使…

加速布局Wi-Fi及蓝牙市场!移远通信再推四款高性能模组新品

3月12日&#xff0c;全球领先的物联网整体解决方案供应商移远通信宣布&#xff0c;其已正式推出四款新型Wi-Fi和蓝牙模组新品&#xff0c;旨在继续致力于满足物联网行业不断升级的应用需求&#xff0c;为智慧家居、工业互联、储能、充电桩等各种场景提供一站式创新解决方案。 此…

【阿里云系列】-ACK的Java应用POD无法访问云数据库Redis

问题介绍 如下图所示&#xff0c;是ACK集群的POD访问阿里云的云数据库Redis&#xff0c;如何实现访问呢 配置步骤 要实现ACK集群内的所有POD都可以访问云数据库Redis&#xff0c;则需要在Redsi的白名单里增加源IP或网段&#xff0c;如下图所示 注意&#xff1a; 以上添加…

朴素贝叶斯算法基础——案例:对新闻进行分类

贝叶斯公式 朴素&#xff1a;假设特征与特征之间相互独立 朴素贝叶斯算法&#xff1a;朴素贝叶斯 应用场景&#xff1a;文本分类&#xff08;单词作为特征&#xff09; 拉普拉斯平滑系数 Ni&#xff1a;F1词在C类别所有文档中出现的次数 N&#xff1a;所属类别C下的文档所…

C语言 指针(4) qsort函数

目录 前言 一、回调函数 二、qsort函数 2.1 使用qsort函数排序整型数据 2.2 使用qsort排序结构数据 三、qsort函数的模拟实现 总结 前言 今天我们主要来学习一下C语言中的qsort排序函数。 一、回调函数 回调函数就是⼀个通过函数指针调用的函数。 如果你把函数的指针&a…

PMP考试心得,与大家共勉

本人刚刚通过PMP考试&#xff0c;有一些自己的经历&#xff0c;写出来欢迎已经是PMP的兄弟们指正&#xff0c;希望能给正在PMP之路上奔跑的人们一些帮助。 其实很早就听说过PMP认证考试了&#xff0c;但是一直工作很忙没有时间来投入学习考试。因此一直拖到今年夏天才有时间参加…

使用公式在Excel中指定列值的变化实现自动间隔着色(不是按照固定的行数)

如果你的文件很小&#xff0c;可以手工着色&#xff1b;但如果很大&#xff0c;就要借助公式来着色&#xff1b; 目的是什么&#xff0c;其中之一是&#xff1a;提升可读性。 一起往下看吧&#xff01;&#xff01; 如果你想要根据Excel某列中值的变化来间隔着色&#xff0c;…

CSS 【详解】响应式布局(明天内容)

响应式布局&#xff1a; 同一页面在不同的屏幕上有不同的布局&#xff0c;即一套代码自适应不同的屏幕。 常用 单位&#xff1a; 像素&#xff08;px&#xff09;&#xff1a;像素是最常用的长度单位&#xff0c;它表示屏幕上的一个物理像素点。例如&#xff0c;width: 200px; …

迪杰斯特拉算法 代码

参考链接&#xff1a; 【路径规划】全局路径规划算法——Dijkstra算法&#xff08;含python实现 | c实现&#xff09;-CSDN博客 算法图解&#xff1a; 代码 def dijkstra(matrix, source):"""迪杰斯特拉算法实现Args:matrix (_type_): 用邻接矩阵表示带权图s…
最新文章