首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
牛客666号.
获赞
155
粉丝
1
关注
4
看过 TA
15
University of Pennsylvania
2022
产品经理
IP属地:广东
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑牛客666号.吗?
发布(20)
刷题
牛客666号.
2022-03-09 00:35
已编辑
产品经理
题解 | #蛇形矩阵#
咱比较笨,找不到数字之间的规律,只能按照蛇形矩阵本来的规则来。 把蛇形矩阵旋转45度其实就是个金字塔,最上面是1,最右下方是最大的数,即10 原本: 1 3 6 10 2 5 9 4 8 7 旋转一下: 1 2 3 4 5 6 7 8 9 10 list1就是旋转后的矩阵 然后可以发现旋转后的矩阵里每一行的最后一个元素,就是蛇形矩阵中第一行的元素,倒数第二个元素就是第二行的,依次类推。 while 1: try: n = int(input()) list1 = [] for i in range(1,n+1): ...
0
点赞
评论
收藏
转发
牛客666号.
2022-02-27 13:45
产品经理
题解 | #求最小公倍数#
最小公倍数肯定大于等于两个数里面最大的那个数,且是最大的那个数的倍数,但最小公倍数最大等于两个数相乘 所以只要找到两个数中最大的那个数,然后从1遍历到最小的那个数的值加1就可以了。 一旦找到立马退出循环就行了 a = list(map(int,input().split(" "))) for i in range(1,min(a[0],a[1])+1): if (max(a[0],a[1]) * i)%min(a[0],a[1]) == 0: print(max(a[0],a[1]) * i) break
0
点赞
评论
收藏
转发
牛客666号.
2022-02-27 03:34
产品经理
题解 | #数据分类处理#
我觉得这题的难点在于怎么把含R[i]的I[j]按它们原本在I中的顺序输出 我想到的办法是用list.index()方法,找到位置以后把这个位置设置成null,这样下次同一元素查位置的时候找到的就是下一个该元素的位置了 import re while 1: try: I = input() R = input() lst_I = I.split(" ")[1:]#输入字符串的第一位多少整数其实没有用,这里可以直接删了 lst_R = sorted(map(int,list(set(R.split(" ")[1:]))))#这...
0
点赞
评论
收藏
转发
牛客666号.
2022-02-26 07:11
已编辑
产品经理
题解 | #合唱队#
思路和高赞的思路一样,但它的答案超时了,所以必须要用bisect模块。 bisect.bisect_left(list,num) list必须是一个有序序列 num是要查找的元素 返回值是要查找的元素在list中的位置,如果list中没有该元素,那么返回的是该元素应该在的位置 bisect.bisect_left([1,2,3,5],4)返回的就是3 bisect.bisect_left([1,2,3,5],5)返回的也是3 其他的都在代码中注释了,中文没有定语从句长句子太难讲清楚了。。。 import bisect def max_left_num(lst):#在该同学左边可以最多站多少人...
0
点赞
评论
收藏
转发
牛客666号.
2022-02-25 12:01
已编辑
产品经理
题解 | #汽水瓶#
这题不用递归。 用最简单的思路就可以写 while 1: sum1 = 0 a = int(input()) if a == 0: break b = 0 while 1: if (b + a) // 3: c = (b + a) // 3 a = (a + b) % 3 '''这里特别注意!!应该是a+b来取模3,所以需要一个变量c来暂时缓存(a+b)//3的值 ''' b = c ...
0
点赞
评论
收藏
转发
1
2
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务