牛客网华为机试题之Python解法
牛客网华为机试题之Python解法
第1题 字符串最后一个单词的长度
a = input().split(" ")
print(len(a[-1]))
第2题 计算字符个数
a = input()
b = input()
print(a.lower().count(b.lower()))
第3题 明明的随机数
while True:
try:
num = int(input())
data = []
for i in range(num):
data.append(int(input()))
data = list(set(data))
data = sorted(data)
for i in data:
print(i)
except:
break
第4题 字符串分隔
def stringSplit(s):
while len(s)>8:
print(s[0:8])
s = s[8:len(s)]
print(s+(8-len(s))*'0')
stringSplit(input())
stringSplit(input())
第5题 进制转换
while True:
try:
print(str(int(input(),16)))
except:
break
第6题 质数因子
def primeFactor(a):
res = []
while a>1:
for i in range(2,a+1):
if a%i == 0:
res.append(i)
a = int(a/i)
break
return res
a = primeFactor(int(input()))
for i in a:
print(i,end=" ")
第7题 取近似值
def myround(a):
if 10*a%10>=5:
return int(a)+1
else:
return int(a)
print(myround(float(input())))
第8题 合并表记录
a = input()
d = {}
for i in range(int(a)):
b = list(map(int, input().split(' ')))
if b[0] not in d.keys():
d[b[0]] = b[1]
else:
d[b[0]] += b[1]
for key in d.keys():
print(key, d[key])
第9题 提取不重复的整数
a = input()
s = ''
for i in range(len(a)-1,-1,-1):
if a[i] not in s:
s += a[i]
print(s)
第10题 字符个数统计
s = input()
a = []
for i in s:
if 0 <= ord(i) <= 127 and i not in a:
a.append(i)
print(len(a))
s = input()
d = {}
for i in s:
if 0 <= ord(i) <= 127:
d[i] = 1
print(sum(d.values()))
第11题 数字颠倒
a = input()
b = ''
for i in a[::-1]:
b += i
print(b)
第12题 字符串反转
a = input().split(' ')
print(' '.join(a[::-1]))
第13题 句子逆序
a = int(input())
b = []
for i in range(a):
b.append(input())
for i in sorted(b):
print(i)
第14题 字串的连接最长路径查找
a = int(input())
b = []
for i in range(a):
b.append(input())
for i in sorted(b):
print(i)
第15题 求int型数据在内存中存储时1的个数
print(bin(int(input())).count('1'))
未完待续……
牛客网华为机试题之Python解法的更多相关文章
- 牛客网剑指offer【Python实现】——part2
不用加减乘除做加法 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 两个数异或:相当于每一位相加,而不考虑进位: 两个数相与,并左移一位:相当于求得进位: 将上述两步的 ...
- 牛客网剑指offer【Python实现】——part1
斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,n<=39). 循环实现,时间复杂度n def Fibonacci(self, ...
- 【华为机试】找最高分(通过此题熟悉牛客网Node输入输出)
来源:牛客网 老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问.当然,老师有时候需要更新某位同学的成绩. 输入描述: 输入包括多组测试数据.每组输入第一行是两个正整数N和M(0 ...
- 算法题14 小Q歌单,牛客网,腾讯笔试题
算法题14 小Q歌单,牛客网,腾讯笔试题 题目: 小Q有X首长度为A的不同的歌和Y首长度为B的不同的歌,现在小Q想用这些歌组成一个总长度正好为K的歌单,每首歌最多只能在歌单中出现一次,在不考虑歌单内歌 ...
- 算法题16 贪吃的小Q 牛客网 腾讯笔试题
算法题16 贪吃的小Q 牛客网 腾讯笔试题 题目: 链接:https://www.nowcoder.com/questionTerminal/d732267e73ce4918b61d9e3d0ddd9 ...
- MySql面试题、知识汇总、牛客网SQL专题练习
点击名字直接跳转到链接: Linux运维必会的100道MySql面试题之(一) Linux运维必会的100道MySql面试题之(二) Linux运维必会的100道MySql面试题之(三) Linux运 ...
- 像素反转 牛客网 程序员面试金典 C++ Python
像素反转 牛客网 程序员面试金典 题目描述 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度. 给定 ...
- 二进制插入 牛客网 程序员面试金典 C++ Python java
二进制插入 牛客网 程序员面试金典 题目描述 有两个32位整数n和m,请编写算法将m的二进制数位插入到n的二进制的第j到第i位,其中二进制的位数从低位数到高位且以0开始. 给定两个数int n和int ...
- 二进制小数 牛客网 程序员面试金典 C++ Python
二进制小数 牛客网 程序员面试金典 题目描述 有一个介于0和1之间的实数,类型为double,返回它的二进制表示.如果该数字无法精确地用32位以内的二进制表示,返回"Error". ...
随机推荐
- H5-手机震动
//手机震动function vibration(){ navigator.vibrate = navigator.vibrate || navigator.webkitVibrate || navi ...
- angular.min.js:118 Error: [ng:areq] http://errors.angularjs.org/1.5.8/ng/areq?
1,错误如图所示 简单说下错误原因是:没有js没有注册进去. 解决方法: 1.看下index.html有没有引入你的js文件. 2.看下app.js有没有注册js,比如我这次就是这步没做好,合并代码时 ...
- Babel插件:@babel/plugin-transform-runtime
一 概述 每个Babel编译后的脚本文件,都以导入的方式使用Babel的帮助函数,而不是每个文件都复制一份帮助函数的代码. 1 优点 (1)提高代码重用性,缩小编译后的代码体积. (2)防止污染全局作 ...
- 关于iOS刷新UI需要在主线程执行
为什么一定要在主线程刷新UI? 安全+效率:因为UIKit框架不是线程安全的框架,当在多个线程进行UI操作,有可能出现资源抢夺,导致问题. 其实:在子线程是不能更新UI的, 看到能更新的结果只是个假象 ...
- 【转载】Linux系统下命令行连接蓝牙设备 查看查找 蓝牙
Linux系统下命令行连接蓝牙设备 2018年11月26日 10:47:27 Zz笑对一切 阅读数:741 1.打开系统蓝牙 sudo service bluetooth start 1 进入bl ...
- SQL Server数据库中的系统数据库?
SQL Server的系统数据库分为:master,model,msdb和tempdb 1.Master数据库 Master数据库记录SQL Server系统的所有系统级别信息(表sysobjects ...
- centos7下编译安装php7.3
一.下载php7.3的源码 https://www.php.net/downloads.php 下载php-7.3.4.tar.gz 二.安装gcc,gcc-c++,kernel-devel yum ...
- typescript如何判断实例是否实现了接口?
·不能用instanceof,因为运行时不存在Interface ·TS 中判断是否实现接口的核心原则是基于结构而不是基于名称的.即鸭子类型判断. ·实现: interface A{ discrimi ...
- [基础篇] 01_MySQL的安装与配置
- js二分算法排序
var arr = [1,2,3,5,10,15,23,35,67,76,78,89,100];var len = arr.length;for (var i = 1; i < len; i++ ...