滴滴算法笔试 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) 点赞 回复 分享 发布于 2025-09-28 11:57 江西
91%已经很牛了,说不定后面批次就约面了
我滴滴笔试完了直接挂了
相关推荐
爱吃香菜的无尾熊服了...:好文 共勉了兄弟 加油 点赞 评论 收藏
分享
全站热榜
更多
创作者周榜
更多
正在热议
更多
# 这个offer值得去吗? #
31553次浏览 229人参与
# 校招薪资来揭秘 #
960509次浏览 4062人参与
# 联宝杯大学生创新大赛,你的技术值得产业级答案 #
50817次浏览 781人参与
# 如果春招能重来,我会___ #
29305次浏览 295人参与
# 24秋招避雷总结 #
1019939次浏览 7098人参与
# 你会因为行情,降低找工作标准吗? #
45001次浏览 328人参与
# 在爱玛,骑向未来 #
20290次浏览 394人参与
# 机械人还在等华为开奖吗? #
339188次浏览 1652人参与
# 米哈游求职进展汇总 #
688592次浏览 3348人参与
# 华为池子有多大 #
178052次浏览 931人参与
# 26届春招投递记录 #
8637次浏览 72人参与
# 25届网易互娱暑实进度 #
109082次浏览 802人参与
# 通信/硬件求职避坑tips #
172012次浏览 1170人参与
# 记录我的毕业季 #
4532次浏览 118人参与
# 机械人,你的秋招第一份简历被谁挂了 #
268729次浏览 2450人参与
# 远程面试的尴尬瞬间 #
363810次浏览 2062人参与
# 大学最后一个寒假,我想…… #
103289次浏览 846人参与
# 机械求职避坑tips #
103668次浏览 589人参与
# 你认为小厂实习有用吗? #
145035次浏览 762人参与
# 运营商笔面经互助 #
219608次浏览 1833人参与
# 美团秋招笔试 #
216334次浏览 1192人参与
# 网易求职进展汇总 #
213134次浏览 1523人参与
