首页 > 编程语言 >Python 初学之华为OD机试题:求最大数字

Python 初学之华为OD机试题:求最大数字

时间:2023-12-13 15:23:46浏览次数:45  
标签:count index Python OD list var 华为 num print

题目描述

给定一个由纯数字组成以宇符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。
如"34533”,数字3重复超过2次,需要册除其中一个3,删除第一个3后获得最大数值"4533"。请返回经过删除操作后的最大的数值,以字符串

输入描述

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

输出描述

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

示例1

输入
34533
输出
4533

示例2

输入
5445795045
输出
5479504


自己写的不一定完全对,思路如下
将数字拆分成单一数字组成的数组,统计count大于2的元素,并比较当前元素与下个元素,如当前元素小于下一个元素,则删除该元素,否则保留

num = '5445795045'
#num = '34533'
num_list = [int(i) for i in num]

num_index =[]

print('number_list:',num_list)
for n in range(len(num_list)): 
    var = num_list[n]
    print('index:',n,'value:',var,'count:',num_list.count(var))
    if(num_list.count(var)>2 and n<len(num_list)):
        print('count>2: index',n,'value:',var,'count:',num_list.count(var))
        if(n == len(num_list)-1):
            if(num_list.count(var)>2):
                num_list[n] = 'D'
                print('num_list:',num_list)
            break          
        if(num_list[n] <num_list[n+1]):
            print(num_list[n],'<',num_list[n+1],' need remove value index:',n,'value:',var,'count:',num_list.count(var))
            num_list[n] = 'D'
            #num_index.append(n)
            #del num_list[n]
            print('num_list:',num_list)
        else:
            print(num_list[n],'>=',num_list[n+1],'no action')

print('number_list:',num_list)

while num_list.count('D')>0:  
    num_list.remove('D')
print('number_list remove:',num_list)
str_list = [str(i) for i in num_list]
result = ''.join(str_list)
print('final number_list:',result)

#print('number_index:',num_index)      
#for i in sorted(num_index,reverse=True):
#    print('remove:',i,num_list[i]) 
#    del num_list[i]
#print('result:',num_list)

 

 

标签:count,index,Python,OD,list,var,华为,num,print
From: https://www.cnblogs.com/cygwin/p/17899112.html

相关文章

  • pod详解
    Pod是什么Pod是Kubernetes创建或部署的最小单位。一个Pod封装一个或多个容器(container)、存储资源(volume)、一个独立的网络IP以及管理控制容器运行方式的策略选项。Pod使用主要分为两种方式:Pod中运行一个容器。这是Kubernetes最常见的用法,您可以将Pod视为单个封装的容器,但是Kube......
  • pythonDay22
    【序列化与反序列化】(定义) (使用) (案例) (猴子补丁) 【xml模块】(格式) (案例) 【importconfigparser模块】 写的不好,后续修改 【subprocess模块,执行系统命令】 ......
  • 华为认证 | 有本HCIE证书,待遇区别竟然这么大
    在当今竞争激烈的IT行业,高含金量的职业证书不仅是对个人技能水平的认证,更是提升职业发展、薪资待遇的利器。其中,HCIE证书无疑是备受瞩目的明星认证。那么持有HCIE证书待遇有啥区别?下面我们就来了解一下吧。01持有HCIE证书待遇有啥区别★薪资福利持有HCIE证书往往意味着更高的薪资......
  • 【Python爬虫】Python爬虫入门教程&注意事项
    ​一、引言        随着互联网的快速发展,网络数据已经成为人们获取信息的重要来源。而爬虫技术作为获取网络数据的重要手段,越来越受到人们的关注。在众多编程语言中,Python因其易学易用、库丰富、社区活跃等优势,成为爬虫开发的首选。本文将带你走进Python爬虫的世界,让你......
  • ModuleNotFoundError: No module named 'kornia'
    这个错误通常表示你的环境中没有安装名为"kornia"的Python模块。Kornia是一个用于计算机视觉任务的开源库,你可能需要先安装它才能使用相关功能。你可以使用以下命令使用pip安装kornia:pipinstallkornia如果你使用的是Conda环境,可以尝试使用以下命令安装:condai......
  • Python——第五章:logging模块
    filename:文件名format:数据的格式化输出。最终在日志文件中的样子时间-名称-级别-模块:错误信息datefmt:时间的格式level:错误的级别权重,当错误的级别权重大于等于leval的时候才会写入文件importlogginglogging.basicConfig(filename='x1.txt',format='%(asc......
  • 【Node.js】大前端技能最通俗易懂的讲解 快速入门必看
    目录1、概述前端工具VSCode安装2、NodeJS的安装3、NodeJS了解和快速入门4、NodeJS实现HttpServer服务5、NodeJS实现操作MySQL数据库Node.js是一个基于ChromeV8引擎的JavaScript运行环境,它允许开发者在服务器端执行Node.js是一个基于ChromeV8引擎的JavaScript运行环境,它允许开发者......
  • 【Python小随笔】 Grpc协议的使用
    定义接口//test.protosyntax="proto3";optioncc_generic_services=true;serviceGreeter{//第一个接口rpcOne(OneRequest)returns(OneResponse){}//第二个接口rpcTwo(TwoRequest)returns(TwoResponse){}}//第1个接口请求值messageOn......
  • Python——第五章:shutil模块
    复制文件把dir1的文件a.txt移动到dir2内importshutilshutil.move("dir1/a.txt","dir2")复制两个文件句柄f1=open("dir2/a.txt",mode="rb")#准备读f1f2=open("dir1/b.txt",mode="wb")#准备写f2shutil.copyfileobj(f1,......
  • 详谈 “ref” 在odoo中的作用
    在Odoo中,ref字段是一个用于关联其他记录的字段。它是一个特殊的Many2one字段,允许你在一个模型中创建一个关联到另一个模型的字段。ref字段通常用于建立模型之间的关联关系,例如,一个销售订单关联到一个产品。以下是关于ref字段在Odoo中的作用以及一个示例说明:作用:建立关联关......