首页 > 编程语言 >求最大数字-od-python

求最大数字-od-python

时间:2024-02-03 16:12:27浏览次数:34  
标签:count ch 数字 python od char result input

求最大数字

题目

给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现 2 次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。

如 34533,数字 3 重复超过 2 次,需要删除其中一个 3 ,删除第一个 3 后获得最大数值 4533

请返回经过删除操作后的最大的数值,以字符串表示。

输入

第一行为一个纯数字组成的字符串,长度范围:[1,100000]

输出

输出经过删除操作后的最大的数值

示例一

输入

34533

1

输出

4533

1

示例二

输入

5445795045

1

输出

5479504

1

def process_input(input_str):
    LIMIT_SIZE = 2
    count_map = {}
    result = []

    for char in input_str:
        count = count_map.get(char, 0) #首次出现的话为0
        print(count_map)
        print(result)
        if count < LIMIT_SIZE:
            count_map[char] = count + 1 # 记录出现的个数
            result.append(char)  # <2的话,添加到数组 result
        else:
            for i in range(len(result) - 1): # 因为要获取下一个字符,所以-1,不然会数组越界
                curr_ch = result[i]  #当前字符
                next_ch = result[i + 1] # 下一个
                if curr_ch == char and curr_ch < next_ch:
                    # result记录的字符和当前字符相等,并且这个字符比下一个的小,
                    # 说明需要删除掉 result的,因为要取大的数字 。同时把当前字符添加到result的最后,跳出循环
                    result.pop(i)
                    result.append(char)
                    break

    return ''.join(result)
#

# 输入处理
while True:
    input_str = input()
    if not input_str:
        break

    # 输出结果
    result = process_input(input_str)
    print(result)

标签:count,ch,数字,python,od,char,result,input
From: https://www.cnblogs.com/domm/p/18004877

相关文章

  • 【Python基础】日志工具介绍及使用
    日志的主要功能日志不是软件功能的必需品,但是对于软件开发和维护具有至关重要的作用,其主要的作用在于:问题追踪和调试:当程序出现错误或异常行为时,日志可以提供关于何时以及在哪里发生问题的详细信息,对于识别、隔离和修复错误很有帮助。审计和合规性:提供详细的操作记录,用于证......
  • Python小白入门指南:从零开始掌握Python编程
    你是否曾想过用代码操控电脑、制作自动化任务,或者探索数据的奥秘?今天,我要带你进入Python的世界,为你揭开编程的神秘面纱。不论你是编程零基础,还是想学习一门新技能,这篇文章都将是你学习Python的得力助手。一、Python是什么?为什么要学Python?Python是一种高级、动态类型的编程语言,它的......
  • Python 数据分析(PYDA)第三版(二)
    原文:wesmckinney.com/book/译者:飞龙协议:CCBY-NC-SA4.0四、NumPy基础知识:数组和向量化计算原文:wesmckinney.com/book/numpy-basics译者:飞龙协议:CCBY-NC-SA4.0此开放访问网络版本的《Python数据分析第三版》现已作为印刷版和数字版的伴侣提供。如果您发现任何勘误......
  • Python 数据分析(PYDA)第三版(三)
    原文:wesmckinney.com/book/译者:飞龙协议:CCBY-NC-SA4.0六、数据加载、存储和文件格式原文:wesmckinney.com/book/accessing-data译者:飞龙协议:CCBY-NC-SA4.0此开放访问网络版本的《Python数据分析第三版》现已作为印刷版和数字版的伴侣提供。如果您发现任何勘误,请在......
  • Python 数据分析(PYDA)第三版(四)
    原文:wesmckinney.com/book/译者:飞龙协议:CCBY-NC-SA4.0八、数据整理:连接、合并和重塑原文:wesmckinney.com/book/data-wrangling译者:飞龙协议:CCBY-NC-SA4.0此开放访问网络版本的《Python数据分析第三版》现已作为印刷版和数字版的伴侣提供。如果您发现任何勘误,请在......
  • Python 数据分析(PYDA)第三版(五)
    原文:wesmckinney.com/book/译者:飞龙协议:CCBY-NC-SA4.0十、数据聚合和组操作原文:wesmckinney.com/book/data-aggregation译者:飞龙协议:CCBY-NC-SA4.0此开放访问网络版本的《Python数据分析第三版》现已作为印刷版和数字版的伴侣提供。如果您发现任何勘误,请在此处报......
  • Python 数据分析(PYDA)第三版(七)
    原文:wesmckinney.com/book/译者:飞龙协议:CCBY-NC-SA4.0附录附录A:高级NumPy原文:wesmckinney.com/book/advanced-numpy译者:飞龙协议:CCBY-NC-SA4.0此开放访问网络版本的《Python数据分析第三版》现已作为印刷版和数字版的伴侣提供。如果您发现任何勘误,请在此处报......
  • AtCoder Beginner Contest 333
    ABC334总结https://atcoder.jp/contests/abc333A-ThreeThrees翻译输入一个正整数\(n\),输出\(n\)遍这个正整数。\(1\len\le9\)。分析没啥好说的,直接输出就好了。code#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;intn;intmain()......
  • Vue中v-model的原理
    在Vue中,v-model是一个非常强大且常用的指令,它能够让我们轻松地处理表单输入和应用状态之间的双向绑定。它不仅简化了代码编写的过程,还提供了一种高效的方式来管理表单数据。理解v-model的原理对于构建复杂的Vue应用来说是非常重要的。在本文中,我们将深入探讨v-model的实现原理,并通......
  • left 2 Codeforces Round 916 (Div. 3)
    题目链接A.遍历字符串,用map记录下每个字符出现的次数最后遍历26个字母,若出现了相应次数答案+1#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e5+10;voidsolve(){intn;cin>>n;strings;cin>>s;map<char,int>mp;......