首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
钻石王老五
获赞
252
粉丝
5
关注
4
看过 TA
16
男
清华大学
2013
运维开发工程师
IP属地:广东
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑钻石王老五吗?
发布(53)
评论
刷题
钻石王老五
关注TA,不错过内容更新
关注
2021-11-30 14:18
已编辑
清华大学 运维开发工程师
求操作系统执行一个任务序列的最短时间
华为机试第三题:操作系统执行任务,不同类型的任务可以连续执行,同类型的任务之间要有冷却时间,如任务序列:2 2 2 3,数字代表任务类型,数字不同则表示任务类型不同,任务的执行可以按任意顺序进行,执行顺序不同则所耗时间可能不同,每单位时间可以执行一个任务,冷却时间为若干个单位时间,若冷却时间为2,如按2 2 2 3执行则需要的时间为8,因为任务2和2之间需要2个单位的冷却时间,任务2和3之间不需要冷却;如按2 3 2 2执行则需要的时间为7,任务2执行完后可以立即执行3,但3执行完后再执行2却需要等待1个单位时间,因为前面执行过的2尚未完全冷却。求系统执行一个任务序列的最短时间 #基本思想就是...
0
点赞
评论
收藏
分享
2021-11-10 20:54
已编辑
清华大学 运维开发工程师
数组元素分类聚合
数组元素分类聚合,譬如给出数组[1 3 1 4 0],找出所有小于k的元素,并通过对换数组的元素,使所有小于k的元素聚集在一起,问最少要调换几次?如本例中,若k=2,则将1和4对换或将0和3对换,都能达到目的,即最少对换一次 思路:找出一个长度等于数组中小于k的元素个数的滑窗,这个滑窗中不小于k的元素个数最少 #华为机试第二题: import sys for line in sys.stdin: s=line.strip().split() sint=list(map(int,s)) #把元素都转成数字 cnt=0 k=int(input()) for ...
0
点赞
评论
收藏
分享
2021-11-10 12:06
清华大学 运维开发工程师
题解 | #计算字符串的距离#
固定公式,没办法 while True: try: str1=input() str2=input() dp=[[x for x in range(len(str1)+1)] for y in range(len(str2)+1)] for j in range(1,len(str2)+1): dp[j][0]=dp[j-1][0]+1 for i in range(1,len(str1)+1): for j in range(1,len(str2)+1): ...
0
点赞
评论
收藏
分享
2021-11-09 22:43
清华大学 运维开发工程师
三序遍历
//题目自动给的代码还真不能删 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** * * @param root TreeNode类 the root of binary tree * @return int整型vector<vector<>> */ void threeOrder...
0
点赞
评论
收藏
分享
2021-11-09 22:15
已编辑
清华大学 运维开发工程师
题解 | #参数解析-巧妙将一长串分行打印#
这种思路太它娘的牛了! while True: try: str1=str(input()) str1=str1.replace(' ','\n') e = '' flag = False for i in str1: if i == '"': # 经过一次引号则拨动一次开关 flag = not flag elif flag == True and i == '\n': e += ' ' ...
牛客497490809号:
xcopy /s "C:\\program files" "d:\" "C:\\program files" 这条用例通不过
0
点赞
评论
收藏
分享
2021-11-09 17:46
已编辑
清华大学 运维开发工程师
题解 | #求解立方根#
正数,负数,大于1的,小于1的,都要考虑 import sys #for line in input() #这样用也不报错但是只能循环一次,input没有循环功能 def cube(): num = float(sys.stdin.readline().strip()) #sys.stdin也可以这样用,这样用则没有循环功能,因为没有for语句 if num == 0: return 0 if num > 0: sig = 1 else: sig = -1 num = abs(num) if...
0
点赞
评论
收藏
分享
2021-11-09 17:13
已编辑
清华大学 运维开发工程师
题解 | #求最小公倍数#
一开始想着找到各自质因数,然后去重再相乘,发现不行,太复杂,下面就拿一个数开始一倍一倍地试,相当暴力 import sys for line in sys.stdin: a,b=map(int,line.strip().split()) if a<b:a,b=b,a #这句省略其实也能运行,但效率降低了 for i in range(1,b+1): if a*i%b==0: #从大的那个数开始加倍可以更快找到 print(a*i) break
0
点赞
评论
收藏
分享
01-22 16:35
已编辑
清华大学 运维开发工程师
题解 | #字符统计#
因为一个升序一个降序,所以两次排序不能放在同一个sort里完成,因为reverse关键字针对每次的排序都发挥作用,分两次完成,且次要排序要先排,因为后面一次会抹掉前面一次 import sys for line in sys.stdin: s=line.strip() adic={} for i in s: #下面四行可以用 adic[i]=adic.get(i,0)+1 一行解决。 if i in adic.keys(): adic[i]+=1 else: adic[i]=1 ...
0
点赞
评论
收藏
分享
2021-11-09 11:54
清华大学 运维开发工程师
题解 | #在字符串中找出连续最长的数字串#
注意有多个时,输出的格式 import sys for line in sys.stdin: s=line.strip() for i in s: if i.isdigit()==False: #将非数字替换成空格 s=s.replace(i," ") s=s.split() #生成列表 r1=max([len(i) for i in s]) #巧妙生成长度列表,并找到最大的 for i in s: if len(i)==r1: print(i,end='')#不换行输出,...
0
点赞
评论
收藏
分享
2021-11-09 11:39
清华大学 运维开发工程师
题解 | #走方格的方案数#
找到规律,就是排列组合,找不到规律就难了 #画了一下图找到规律就是pCr种走法,跟排列组合是一样的Cpr from math import factorial as fact while 1: try: n,m = [int(x) for x in input().strip().split()] p =n+m r =n N = fact(p) // (fact(p-r)*fact(r)) print(N) except: break
0
点赞
评论
收藏
分享
2021-11-08 20:47
清华大学 运维开发工程师
题解 | #火车进站#
火车进站出站,固定的递归方法,需要记住 #固定的递归方法,需要记住 res = [] #定义全局变量 def dfs(wait, stack, out): if not wait and not stack: res.append(' '.join(map(str, out))) if wait: # 入栈,一开始一股脑都入栈 dfs(wait[1:], stack + [wait[0]], out) if stack: # 出栈,之后慢慢出栈 dfs(wait, stack[:-1], out + [stack[-1]...
0
点赞
评论
收藏
分享
2021-11-08 20:16
清华大学 运维开发工程师
题解 | #尼科彻斯定理#
这题看似唬人,实则简单,可以直接找到规律 import sys for line in sys.stdin: n=int(line.strip()) num=n**3 #这个变量压根没用 start=n**2+1-n #可以从题上例子推出规律,找到开头奇数 alt=[] for i in range(0,n,1): alt.append(start+2*i) alt=list(map(str,alt)) print('+'.join(alt)) #生成题目要求的形式
0
点赞
评论
收藏
分享
2021-11-08 17:16
已编辑
清华大学 运维开发工程师
题解 | #矩阵乘法计算量估算#
此题有问题,只考虑了ABC三种?万一是ABCDEFG……呢,但运行竟然通过了,题目测试环境可能自行做了调整…… #计算式的题目,考出入栈处理括号 #先摘抄优秀答案: #按照出入栈处理括号的思路,自己重写如下代码。 import sys for line in sys.stdin: n = int(line.strip()) mdict = {} for i in range(n): mdict[chr(ord('A')+i)] = list(map(int,input().strip().split()))## 用strip()先去掉可能隐藏的末尾空格 ...
0
点赞
评论
收藏
分享
2021-11-08 16:10
清华大学 运维开发工程师
题解 | #矩阵乘法#
先生成再遍历,求和,并输出 import sys for line in sys.stdin: x=int(line.strip()) # print(x) y,z=int(input()),int(input()) # print(y,z) A=[];B=[] for i in range(x): A=A+[list(map(int,input().split()))] # for item in A:#输出一个矩阵的方式,下同 # print(item) for i in range(y): ...
0
点赞
评论
收藏
分享
2021-11-08 15:05
清华大学 运维开发工程师
题解 | #成绩排序#
import sys for line in sys.stdin: N=int(line.strip()) flg=int(input().strip()) alt=[] for i in range(N): temp=input().strip().split() temp[1]=int(temp[1])#陷阱在这里,比如jim 90,只能单独将90转成数字 alt+=[temp] # print(alt)#测试 alt.sort(key=lambda item:(item[1]),rev...
0
点赞
评论
收藏
分享
1
2
3
4
关注他的用户也关注了:
牛客网
牛客企业服务