滴滴算法笔试 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%已经很牛了,说不定后面批次就约面了
我滴滴笔试完了直接挂了
相关推荐
04-09 14:12
浙江工业大学之江学院 Java 点赞 评论 收藏
分享
全站热榜
更多
创作者周榜
更多
正在热议
更多
# 简历上如何体现你的“AI”能力? #
11124次浏览 263人参与
# 正在春招的你,也参与了去年秋招吗? #
397326次浏览 2735人参与
# 华泰星战营,提前锁定校招offer #
12468次浏览 382人参与
# 哪些AI项目值得做? #
20955次浏览 529人参与
# 实习要如何选择和准备? #
157755次浏览 1584人参与
# 找不到大厂实习可以去小厂吗? #
16534次浏览 192人参与
# 虾皮求职进展汇总 #
402001次浏览 2867人参与
# 你总挂在第__面? #
7944次浏览 89人参与
# 非技术岗薪资爆料 #
528991次浏览 3095人参与
# 实习时最怕听到的一句话 #
18531次浏览 172人参与
# 没有面试的日子里,你在做什么 #
10676次浏览 324人参与
# 你简历上最心虚的一句话 #
17363次浏览 211人参与
# 90后北漂现状 #
38944次浏览 225人参与
# 京东笔试 #
171891次浏览 935人参与
# 你知道最慷慨和最抠的公司分别是 #
8893次浏览 73人参与
# 25届嵌入式真的回暖了吗 #
52414次浏览 384人参与
# 父母对你找工作是助力还是阻力? #
46194次浏览 405人参与
# 非技术投递记录 #
726664次浏览 6948人参与
# 刚入职就____,这样正常吗? #
141284次浏览 685人参与
# 拼多多工作体验 #
57734次浏览 418人参与
# 参加哪些竞赛对找工作有帮助? #
47619次浏览 250人参与

