当前位置: 首页 > news >正文

牛客华为机试题——难度:入门(python实现)

HJ7 取近似值

HJ9 提取不重复的整数

HJ46 截取字符串

HJ58 输入n个整数,输出其中最小的k个

HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序

HJ7 取近似值

描述:写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。

数据范围:保证输入的数字在 32 位浮点数范围内

输入描述:输入一个正浮点数值

输出描述:输出该数值的近似整数值

示例:

输入:5.5

输出:6

import sysf = float(input())
a = int(f + 0.5)#任意小数+0.5取整就是四舍五入的结果
print(a)

HJ9 提取不重复的整数

描述:输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

保证输入的整数最后一位不是 0 。

数据范围: 1≤𝑛≤108 1≤n≤108 

输入描述:输入一个int型整数

输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

示例1:

输入:9876673

输出:37689

import syslist1 = list(map(int,input()))
list1.reverse()
list2 = list()
list2.append(list1[0])
for i in list1:count = list2.count(i)#获取当前元素在列表中出现的次数if count < 1:list2.append(i)
str = map(str,list2)
print(''.join(str))

HJ46 截取字符串

描述:输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出

数据范围:字符串长度满足 1≤𝑛≤1000 1≤n≤1000  , 1≤𝑘≤𝑛 1≤k≤n 

输入描述:1.输入待截取的字符串;2.输入一个正整数k,代表截取的长度

输出描述:截取后的字符串

示例:

输入:abABCcDEF,6      

输出:abABCc

while True: # 防止输入类型错误报错try:str = input()k = int(input())if (1 <= k <= len(str) <= 1000):#判断输入是否符合要求print(str[:k]) #使用切片截取字符else:print("输入的内容不符合要求")except:break

HJ58 输入n个整数,输出其中最小的k个

描述:输入n个整数,找出其中最小的k个整数并按升序输出

数据范围:1≤𝑛≤1000 1≤n≤1000  ,输入的整数满足 1≤𝑣𝑎𝑙≤10000 1≤val≤10000 

输入描述:第一行输入两个整数n和k,第二行输入一个整数数组

输出描述:从小到大输出最小的k个整数,用空格分开。

示例:

输入:5 2
           1 3 5 7 2

输出:1 2

import sys
n,k = map(int, input().split())
list1 = list(map(int,input().split()))
list1 = sorted(list1)#升序排列
list2 = []
if ((1 <= n < 1000) and (1 <= k < 10000)):for i in range(0,k):list2.append(list1[i])#获取列表元素插入新列表print(list2[i],end=" ")
else:print("输入的数据不符合要求")

键盘输入列表,列表排序,列表插入数据

HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序

描述:输入整型数组和排序标识,对其元素按照升序或降序进行排序

数据范围: 1≤𝑛≤1000 1≤n≤1000  ,元素大小满足 0≤𝑣𝑎𝑙≤100000 0≤val≤100000 

输入描述:第一行输入数组元素个数
                  第二行输入待排序的数组,每个数用空格隔开
                  第三行输入一个整数0或1。0代表升序排序,1代表降序排序

输出描述:输出排好序的数字

示例1:

输入:8
           1 2 4 9 3 55 64 25
           0

输出:1 2 3 4 9 25 55 64

import sysn = int(input())
list1 = list(map(int,input().split()))
m = int(input())
if ((m == 0) and (1 <= n <1000)):for i in list1:if ((i < 0) or (i >10000)):breaklist1 = sorted(list1)#升序list1 = map(str,list1)print(' '.join(list1))#列表按空格输出
elif ((m == 1) and (1 <= n <1000)):for i in list1:if ((i < 0) or (i >10000)):breaklist1.sort(reverse=True)#倒序list1 = map(str,list1)print(' '.join(list1))
else:print("输入的内容不符合要求")

http://www.lryc.cn/news/348312.html

相关文章:

  • 数据结构与算法学习笔记之线性表五---循环链表的表示和实现(C++)
  • 微信小程序生命周期揭秘:从启动到消亡的全过程剖析【附代码】
  • Linux 下载 miniconda
  • 第十五篇:全面防护:构建不容侵犯的数据库安全策略与实战指南
  • 电脑快速搜索文件及文件夹软件——Everything
  • 02-登录页面、动态路由、权限等模块开发
  • 万物生长大会 | 创邻科技再登杭州准独角兽榜单
  • (六)Linux的Shell编程(上)
  • CANopen总线_CANOpen开源协议栈
  • Rust 语言不支持 goto 语句
  • uniapp日期区间选择器
  • k8s job
  • Python---NumPy万字总结【此篇文章内容难度较大,线性代数模块】(3)
  • 【面试经典题】环形链表
  • 【联合索引】最左匹配原则是什么?
  • LeetCode 700.二叉搜索树中的搜索
  • 程序设计实践-课程设计任务布置(麦当劳) (price 200)(不包含文档)
  • leetcode 918.环形子数组的最大和
  • Spring中用到的设计模式有哪些
  • CSS 样式清单整理:文字超出部分显示省略号和设置placeholder的字体样式
  • Docker容器:Docker-Consul 的容器服务更新与发现
  • 容器化Jenkins远程发布java应用(方式二:自定义镜像仓库远程拉取构建)
  • 解密某游戏的数据加密
  • 【报错合集】完美解决“虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本”
  • YOLOv8小白中的小白安装环境教程!没一个字废话,看一遍不踩坑!
  • C#正则表达式,提取信息使用
  • 【数据结构】详解队列
  • 大模型微调方法汇总
  • 探究NVMe SSD HMB应用场景与影响-<续>
  • YTU 3166 共享单车 DFS 记忆化搜索