滴滴算法笔试 0927
鼠鼠做的 91 100
不知道为什么第一题有一个用例过不去,没啥好思路就暴力做了,佬们可以帮忙看看代码吗?
第一题:波浪数,给定进制【a,b】和十进制【l,r】,以及波浪数【k】,求波浪数满足条件的十进制数。波浪数定义为两个不同的数交替构成的,如 1010, 1A1, ABA;请在【a,b】进制中找到这样的十进制数,且该十进制数必须在区间【l,r】中
#####################################################################
a,b,l,r,wave=map(int,input().split())
mapList={chr(ord("A")+i):10+i for i in range(26)}
for i in range(10):
mapList[str(i)]=i
numList={10+i:chr(ord("A")+i) for i in range(26)}
for i in range(10):
numList[i]=str(i)
def getTenTrans(v,k):
# 对应的元素
ans=0
v=str(v)[::-1]
for i in range(len(v)):
ans+=k**i*mapList[v[i]]
return ans
ansList={}
# 先找到需要处理的进制区间内所有对应的元素
for k in range(a,b+1):
# 上下限
for i in range(1,k):
for j in range(k):
if i == j: continue
q=numList[i]
p=numList[j]
temp=f"{q}"
idx=2
while getTenTrans(temp,k)<l:
temp+=p if idx%2==0 else q
idx+=1
v=getTenTrans(temp,k)
while v<=r:
if v not in ansList:
ansList[v] = 1
else:
ansList[v] += 1
temp+=p if idx%2==0 else q
idx+=1
v=getTenTrans(temp,k)
res=[]
for k,v in ansList.items():
if v==wave:
res.append(k)
res.sort()
for i in res:
print(i)
####################################################################
不知道为什么第一题有一个用例过不去,没啥好思路就暴力做了,佬们可以帮忙看看代码吗?
第一题:波浪数,给定进制【a,b】和十进制【l,r】,以及波浪数【k】,求波浪数满足条件的十进制数。波浪数定义为两个不同的数交替构成的,如 1010, 1A1, ABA;请在【a,b】进制中找到这样的十进制数,且该十进制数必须在区间【l,r】中
#####################################################################
a,b,l,r,wave=map(int,input().split())
mapList={chr(ord("A")+i):10+i for i in range(26)}
for i in range(10):
mapList[str(i)]=i
numList={10+i:chr(ord("A")+i) for i in range(26)}
for i in range(10):
numList[i]=str(i)
def getTenTrans(v,k):
# 对应的元素
ans=0
v=str(v)[::-1]
for i in range(len(v)):
ans+=k**i*mapList[v[i]]
return ans
ansList={}
# 先找到需要处理的进制区间内所有对应的元素
for k in range(a,b+1):
# 上下限
for i in range(1,k):
for j in range(k):
if i == j: continue
q=numList[i]
p=numList[j]
temp=f"{q}"
idx=2
while getTenTrans(temp,k)<l:
temp+=p if idx%2==0 else q
idx+=1
v=getTenTrans(temp,k)
while v<=r:
if v not in ansList:
ansList[v] = 1
else:
ansList[v] += 1
temp+=p if idx%2==0 else q
idx+=1
v=getTenTrans(temp,k)
res=[]
for k,v in ansList.items():
if v==wave:
res.append(k)
res.sort()
for i in res:
print(i)
####################################################################
全部评论
楼主思路大方向没毛病吧
差一个用例过不去,感觉像吃薯片最后一片掏不出来
while getTenTrans(temp,k) 点赞 回复 分享 发布于 09-28 11:57 江西
91%已经很牛了,说不定后面批次就约面了
我滴滴笔试完了直接挂了
相关推荐
查看20道真题和解析 点赞 评论 收藏
分享
查看6道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
09-22 22:22
中山大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
全站热榜
更多
创作者周榜
更多
正在热议
更多
# 你听到的“最没用”的秋招建议 #
8903次浏览 115人参与
# 小红书取消大小周 #
76877次浏览 177人参与
# 联影求职进展汇总 #
92506次浏览 428人参与
# 秋招暂停,我将对以下公司做出处罚__ #
7893次浏览 26人参与
# 第一次找实习,我建议__ #
2987次浏览 47人参与
# 从mentor身上学到了__ #
4818次浏览 58人参与
# 360集团校招 #
56329次浏览 190人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
1540次浏览 16人参与
# 实习期间如何提升留用概率? #
193074次浏览 1616人参与
# 2025秋招体验点评 #
28505次浏览 287人参与
# 工作以后,你父母对你啥态度 #
4153次浏览 54人参与
# 第一份工作应该选择高薪还是大平台 #
168206次浏览 927人参与
# 实习心态崩了 #
89486次浏览 476人参与
# 面试反问你会问什么 #
131360次浏览 1527人参与
# 薪资要看总包还是月薪? #
9096次浏览 109人参与
# 什么样的公司千万别去 #
6594次浏览 58人参与
# 机械人值得去的半导体企业 #
29515次浏览 179人参与
# 面试太紧张了怎么办? #
202981次浏览 1643人参与
# 你在职场上见过哪些“水货”同事 #
10135次浏览 92人参与
# 双11,我的offer购物车开箱啦 #
5531次浏览 41人参与
# 非技术岗简历怎么写 #
256913次浏览 3086人参与
# 联想求职进展汇总 #
311606次浏览 2201人参与
