美文网首页
阿里算法工程师附加卷第二问

阿里算法工程师附加卷第二问

作者: 永远学习中 | 来源:发表于2017-08-25 21:57 被阅读0次

理解错题目含义,表示失败,后面想通了,没时间了,就在这里写一下后来修改过的答案。使用的是python3.0.

核心思想是认为每一层是存储是分层的,比如第一层是1,第二层是1 2,第三层是1 2 3,
目标一是计算每一层能容纳多少物品。
依次相加可以知道要找的物品放在那一层。之后计算应该放在哪一个位置。

import math

#层数长度说明了之前的整数位是满的,公式为9*(10^n)*n的相加以及当前行的相加。
def layerCount(layerNumber):
    lens = len(str(layerNumber))
    count = 0
    for temp in range(1,lens):
        count += temp * 9*math.pow(10,temp - 1)
    count += lens * (layerNumber - math.pow(10,lens - 1) + 1)
    return int(count)


max = int(input())
count = 0 #所有层能容纳的总量
layerNumber = 0 #最后一层能容纳的量
layerContain = [] #每一层能容纳的量
finalLayer = 0#最有一层是那一层
while count < max:
    layerNumber += 1
    finalLayer = layerCount(layerNumber)
    layerContain.append(finalLayer)
    count += finalLayer
surplus = max - count + finalLayer #需要在最后一层放置几个物品
result = 0
for layerid in range(len(layerContain)):
    if surplus <= layerContain[layerid]: #应该在那个数字放置物品
        result = str(layerid + 1)[surplus - layerContain[layerid - 1] -1]#应该放置在那个数字的第几位
        break
print(result)

相关文章

  • 阿里算法工程师附加卷第二问

    理解错题目含义,表示失败,后面想通了,没时间了,就在这里写一下后来修改过的答案。使用的是python3.0. 核心...

  • 阿里巴巴搜索事业部推荐算法内推

    【阿里巴巴 - 推荐算法】组内直聘 推荐算法工程师 机器学习专家【阿里巴巴 - 推荐算法】组内直聘 推荐算法工程师...

  • 工作计划

    编程:python 算法:算法导论 面经:看准网面试经验,百度,阿里,腾讯,华为,京东等算法工程师

  • 新手入门,一年内就晋升高级算法工程师,做到以下几点,你也可以

    前言 不知道看这篇文的人听没听说过浅梦,去年校招入职阿里,现在阿里算法岗的高级工程师。 一年内就晋升高级算法工程师...

  • 初入阿里---10天

    2018 年 7 月 5 日,早上 10 点,入职北京阿里,部门:引擎&算法,职位:算法工程师,在 hr 的引导下...

  • 阿里巴巴实习生招聘来了!

    阿里巴巴实习生招聘来了! 面向:2016年毕业的本科、硕士、博士 我们的职位:研发工程师、前端开发工程师、算法工程...

  • [资源推荐] - 华校专的机器学习笔记

    来自他个人网站的介绍: 作者华校专,曾任阿里巴巴资深算法工程师,现任智易科技首席算法研究员,《Python 大战机...

  • 对30w+算法工程师的问与答(上)

    问:那些30w+的算法工程师到底在干些什么 答:想踢足球的分前场、中场、后场和守门员,wuli算法工程师也是分很多...

  • 机器学习算法岗位直接内推

    机器学习算法工程师玖富集团北京 算法工程师捷通华声海淀区 算法工程师腾讯北京 搜索算法工程师今日头条海淀区 搜索算...

  • 搜狗-- 58--第一志愿:BI工程师/大数据开发工程师-58集团 第二志愿:(春招)算法工程师-58集团 ...

网友评论

      本文标题:阿里算法工程师附加卷第二问

      本文链接:https://www.haomeiwen.com/subject/akmpdxtx.html