鱼C论坛

 找回密码
 立即注册
查看: 3891|回复: 42

[已解决]Python:每日一题 364

[复制链接]
发表于 2020-3-31 17:29:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zltzlt 于 2020-3-31 17:45 编辑
这道题算昨天的


今天的题目:


假设你在一根无限长的数轴上站在 0 的位置,终点在 target 的位置。

每次你可以选择向左或向右移动。第 n 次移动(从 1 开始)可以走 n 步。返回到达终点需要的最小移动次数。

示例 1:

输入:target = 3
输出:2
解释:
第一次移动,从 0 到 1 。
第二次移动,从 1 到 3 。
示例 2:

输入:target = 2
输出:3
解释:
第一次移动,从 0 到 1 。
第二次移动,从 1 到 -1 。
第三次移动,从 -1 到 2 。


欢迎大家一起答题!
最佳答案
2020-3-31 17:53:50
本帖最后由 sunrise085 于 2020-3-31 18:03 编辑
  1. def reachNumber(target):
  2.     sum=0
  3.     i=1
  4.     a = abs(target)
  5.     while(sum<a or (sum-a)%2!=0):
  6.         sum+=i
  7.         i+=1
  8.    
  9.     return i-1
  10. print(reachNumber(3))
  11. print(reachNumber(1))
  12. print(reachNumber(2))
  13. print(reachNumber(-3))
复制代码

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-31 17:29:47 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 17:54:37 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 18:18:35 | 显示全部楼层
sunrise085 发表于 2020-3-31 18:03
刚刚写错了
i初始值应该是1,而不应该是0
因为输入0 的话就会出现负值,而且循环会多一次

嗯,112 ms
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-31 18:18:46 | 显示全部楼层
TJBEST 发表于 2020-3-31 18:17
此法不知道对不对,没严格验证

44 ms
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 13:23:42 | 显示全部楼层
TJBEST 发表于 2020-3-31 17:35
我昨天的363题做出来了,我写在这里也给测一下吧
旧 363题

通过了,52 ms

你在原 363 题回复一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 13:25:26 | 显示全部楼层
chen971130 发表于 2020-3-31 18:51
# 思路:先一直走到target之前或之后,(或直接到target),
# 然后分别反复移动到target(每移动一格需 ...

解答错误

输入:-1
输出:-3
预期结果:1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 13:26:18 | 显示全部楼层
Herry2020 发表于 2020-3-31 20:07
def fun364(target):
    sum = 0
    n = 1

解答错误

输入:-1
输出:6
预期结果:1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 13:26:49 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 13:27:25 | 显示全部楼层
sunrise085 发表于 2020-3-31 21:05
我把下午写的修改了一下,while循环最多需要两次

44 ms
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 13:27:48 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 13:28:16 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 17:46:30 | 显示全部楼层

解答错误

输入:-1
输出:2
预期结果:1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 17:48:29 | 显示全部楼层

解答错误

输入:2
输出:4
预期结果:3
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 17:53:04 | 显示全部楼层
chen971130 发表于 2020-4-1 16:19
那就再加个绝对值就好啦

解答错误

输入:4
输出:4
预期结果:3
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-1 18:59:40 | 显示全部楼层
蒋博文 发表于 2020-4-1 16:45
363题实在是看不懂题目,只好来做364

132 ms
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-4 02:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表