滴滴算法笔试 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%已经很牛了,说不定后面批次就约面了
我滴滴笔试完了直接挂了
相关推荐
11-20 22:03
东北大学 Java 点赞 评论 收藏
分享
10-24 19:59
门头沟学院 Java 点赞 评论 收藏
分享
全站热榜
更多
- 1... 27无实习不投日常了明年3月直接战暑期或者找日常可行吗4725
- 2... 学院本放弃秋招了3453
- 3... 腾讯、快手、百度Q3财报新鲜出炉!3385
- 4... 双九无实习 CPP 拿下 SSP-秋招总结(其二)3317
- 5... 被导员发现之后续集:3120
- 6... wxg和字节flow咋选2865
- 7... “受虐狂”再选一次还要选这份苦差事2822
- 8... Gemini3用了吗,前端是不是无了?2815
- 9... 震惊!某HR居然给我发了这样的邮件......2781
- 10... 双九无实习CPP拿下SSP-秋招总结(其一)2701
创作者周榜
更多
正在热议
更多
# OC/开奖 #
183887次浏览 1296人参与
# 材料人,你最希望上岸的是? #
10680次浏览 56人参与
# 小红书开奖了 #
30398次浏览 150人参与
# 那些年,我收到的‘奇葩’回复 #
17830次浏览 141人参与
# AI时代,哪些岗位最容易被淘汰 #
10045次浏览 86人参与
# 职场中那些令人叹为观止的八卦 #
26346次浏览 225人参与
# 百度秋招 #
49355次浏览 382人参与
# 蚂蚁求职进展汇总 #
130279次浏览 1198人参与
# 秋招你经历过哪些无语的事 #
18446次浏览 222人参与
# 得物求职进展汇总 #
134683次浏览 961人参与
# 秋招吐槽大会 #
82019次浏览 724人参与
# 校招薪资来揭秘 #
70109次浏览 457人参与
# 实习学不到东西怎么办? #
263475次浏览 2483人参与
# 实习心态崩了 #
91407次浏览 480人参与
# 第一份工作能做外包吗? #
81306次浏览 555人参与
# 实习,不懂就问 #
131294次浏览 1234人参与
# 你找工作想离家近 or 离家远? #
15131次浏览 230人参与
# 我的职场社死时刻 #
19825次浏览 162人参与
# 你秋招最后悔的选择 #
15563次浏览 120人参与
# 来聊聊机械薪资天花板是哪家 #
154210次浏览 829人参与
# 哪些公司开始补录了 #
19685次浏览 157人参与
# XX请雇我工作 #
14394次浏览 112人参与
