首页 > 编程语言 >算法--移除k个数字

算法--移除k个数字

时间:2024-11-20 17:43:57浏览次数:3  
标签:__ 数字 nums -- number len 算法 移除

class Solution:
    def removeknums(self, nums, k):
        """
        从表示数字的字符串中移除 k 个最小的数字。

        :param nums: 表示数字的字符串
        :param k: 需要移除的数字个数
        :return: 移除 k 个最小数字后的字符串
        """
        s = []
        # 遍历输入的数字字符串
        for i in range(len(nums)):
            number = nums[i]
            # 当 s 不为空,且 s 的最后一个数字大于当前数字,且还需要移除数字时
            while len(s) != 0 and s[len(s) - 1] > number and k > 0:
                s.pop(-1)  # 移除 s 的最后一个数字
                k -= 1  # 减少需要移除的数字计数
            # 如果当前数字不为 '0' 或 s 不为空,则将当前数字添加到 s
            if number != '0' or len(s) != 0:
                s.append(number)

        # 如果还需要移除数字,继续从 s 的末尾移除
        while len(s) != 0 and k > 0:
            s.pop(-1)  # 移除 s 的最后一个数字
            k -= 1  # 减少需要移除的数字计数

        # 将 s 中的数字连接成一个字符串并返回
        result = "".join(s)
        return result


if __name__ == '__main__':
    S = Solution()
    print(S.removeknums("1432219", 2))

返回结果:

标签:__,数字,nums,--,number,len,算法,移除
From: https://blog.csdn.net/qq_68809241/article/details/143859889

相关文章

  • 香港服务器套餐多样性正解看过来呢?
    首先什么是香港服务器香港服务器就是机房在香港地区,由在香港的机房管理的服务器。实际上香港服务器和内地服务器本身没有什么区别,香港服务器非常适合那些用户群体在香港或者亚太地区的,现如今发展非常的快,香港带宽很多商家也有足够的资源。香港机房国际出口带宽更是非常充足,香港......
  • SpringBoot+Docker +Nginx 部署前后端项目
    部署SpringBoot项目(通关版)一、概述使用 java-jar 命令直接部署项目的JAR包和使用Docker制作镜像进行部署是两种常见的部署方式。以下是对这两种方式的概述和简要的优劣势分析:1.1、使用 java-jar 命令直接部署项目的JAR包概述:通过 java-jar 直接部署项目的JA......
  • cf round 863 B
    XOR=Average题目https://codeforces.com/contest/1758/problem/B主要意思给定一整数n,要使n个数的异或=n个数之和的平均值,输出这n个数思路n是奇数的时候n个相同的数(设为a)的异或也为a,n个a之和的平均值也为an为偶数的时候n个相同的数(设为a)的异或......
  • Java小练(数组)
    题目要求:给你一个整数数组“arr”,请你判断数组中是否存在连续三个都是奇数的情况:如果存在请返回“true”;否则返回“false”1.导入要用到的scanner库importjava.util.Scanner;2.获取输入的数据importjava.util.Scanner;publicstaticText_11_19_3{publicstati......
  • JAVA对接百度翻译
    官方登录链接:百度翻译开放平台(baidu.com)注册教程:百度翻译开放平台(baidu.com)创建TranslateUtils工具类importorg.apache.commons.codec.digest.DigestUtils;importorg.apache.http.HttpResponse;importorg.apache.http.client.HttpClient;importorg.apache.ht......
  • 「云之家个性化开发」将客户输入的身份证中的出生年月性别提取出来赋值到当前页面的控
    将客户输入的身份证中的出生年月性别提取出来赋值到当前页面的控件上场景入职填写身份证号时,输入身份证号,自动填充出生年月和性别。模板配置个性化代码块示例代码<scripttype="text/javascript">//解析身份证号的函数functionparseIdCard(idCard){......
  • 博弈论:公平组合游戏(Nim 游戏 & SG 定理)学习笔记
    博弈论:公平组合游戏(Nim游戏&SG定理)学习笔记公平组合游戏定义:两人轮流以最优方式操作,两人的操作方式相同。每次操作游戏状态必须改变,不能操作者输,另一人赢。每个游戏状态不能重复到达。我们把每个状态看作一个点,每个状态的点向它后继状态的点连有向边,可以生成一张DAG(......
  • Ubuntu 24.04上安装JupyterLab并远程访问
    更新你的Ubuntu软件包索引。 sudoaptupdate 现在通过Ubuntu软件源安装Python3和Node.js,方法如下--输入"Y"确认安装: sudoaptinstallpython3-devpython3-pippython3-venvnodejsnpm安装Jupyter 安装完依赖项后,您将在Python虚拟环境中通过Pip安装Jup......
  • 人工智能之机器学习线代基础——行列式的性质和法则
    行列式是一种重要的代数工具,用于描述方阵的一些核心特性,如矩阵是否可逆、线性相关性等。为了快速准确地计算行列式,我们可以利用行列式的性质和法则,包括对消法则、行列变换等。 1.行列式的基本性质1.1交换行(列)会改变符号如果将行列式的两行或两列进行交换,则行列式的符号会变......
  • 在Sql Server中数据放在机械硬盘中和放在固态硬盘中有哪些区别
    1.数据存储原理方面机械硬盘机械硬盘通过磁头在高速旋转的盘片上进行数据的读写操作。盘片每分钟转速(RPM)常见的有5400转、7200转等,数据存储在盘片的磁性涂层上,磁头需要移动到对应的磁道(Track),再定位到具体的扇区(Sector)才能读写数据,这个过程涉及机械部件的物理运动,比如磁头......