1. 题目描述
菜鸟仓库的货架格子编号满足如下规律:第1个格子编号为1,第2-3个12,第4-6个格子编号为123……
以此类推每个格子由一个0-9之间的整数编号,n个格子的编号连起来有如下规律1|12|123|……|123456789101112131415|……|12345678910111213141516…k,仓库中的储位一共有一千多万个。
如何快速找到第K个格子对应的编号。
2. 分析思路
暴力搜索的方法, 循环逐步构建格子编号直到编号长度大于K.
3. 代码实现
def get_bin_str_more_than_K_bin(k):
result = ''
# Use while loop to construct bin labeling string
# so won't create unnecessary long bin labeling string
v = 1
while len(result) < k:
for j in range(1, v):
result += str(j)
v += 1
return result
if __name__ == '__main__':
K = 100
# bin labeling string
b_s = get_bin_str_more_than_K_bin(K)
print('Bin Labeling String: %s' % b_s)
K_label = b_s[K-1]
print('K: %s - > K_label: %s' % (K, K_label))