当前位置: 首页 > news >正文

商贸有限公司网站建设/app广告推广

商贸有限公司网站建设,app广告推广,手机网站开发企业,现在最靠谱的购物网站有哪些这是悦乐书的第310次更新,第331篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第179题(顺位题号是754)。你站在无限数字线的0号位置。在目的地有个target。在每次移动中,您可以向左或向右移动。在第n次移动&#x…

这是悦乐书的第310次更新,第331篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第179题(顺位题号是754)。你站在无限数字线的0号位置。在目的地有个target。在每次移动中,您可以向左或向右移动。在第n次移动(从1开始)期间,你可以走n步。返回到达目的地所需的最少步骤数。例如:

输入:target = 3

输出:2

说明:在第一步中,我们从0步进到1。在第二步,我们从1步骤到3。


输入:target = 2

输出:3

说明:在第一步中,我们从0步进到1。在第二步,我们从1步进到-1。在第三步,我们从-1步到2。


注意:target将是[-10 ^ 9,10 ^ 9]范围内的非零整数。

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 第一种解法

此解法只是一种思路。因为每一步都有两种选择,往左或往右,一层一层展开,其结构类似树,因此可以构建一个二叉树,在构建二叉树的过程中,判断二叉树的节点值是否等于target。

03 第二种解法

在无从下手的情况下,我们来分析下几种情况:

第一,因为给的target可正可负,所以当target为负数时,其实与target为正数时是对称的,结果一样,所以在方法开始前,可以将其转为正数。

第二,如果一直是向左移动,移动的步数就变成了一个等差数列,总共移动的步数就是Nx(1+N)/2,如果其总步数等于目标值,这就是最优解,就可以直接返回移动的步数。

第三,既有左移,也有右移时,此时计算Nx(1+N)/2的值比target大,分为两种情况:

(1)Nx(1+N)/2 - target的差为偶数。例如总步数为1+2+3=6,target为4,两者相差为2,需要走三次,但是需要将第一步往左走,才能满足条件。只要是相差为偶数,就只需要差除以2的商的那一步往左走即可。

(2)Nx(1+N)/2 - target的差为奇数。此时上面的情况就不能满足了,就只能增加步数,那么是增加几步呢?此时我们需要去判断N了,如果N为偶数,需要再走一步,如果N为奇数,需要再走两步。例如target为5,已经走了三步,此时步数和为6,还需要再走两步,并且第5步需要往左走,也就是1+2+3+4-5=5。

public int reachNumber(int target) {target = Math.abs(target);int result = 0;long i = 0;while (i*(i+1) < 2*target) {i++;}if (i*(i+1)/2 == target) {result = (int)i;} else {if ((i*(i+1)/2 - target)%2 == 0) {result = (int)i;} else {if (i%2 == 0) {result = (int)i+1;} else {result = (int)i+2;}}}return result;              
}


04 第三种解法

对于上面第二种解法,我们还可以再简化下,将求和和判断放在了一个循环中处理,依旧是做减法判断差值的奇偶,因为不满足条件就一直做累加,只有差值为偶数时才会退出循环。

public int reachNumber(int target) {target = Math.abs(target);int result = 0, sum = 0;while (sum < target || (sum-target)%2 != 0) {result++;sum += result;}return result;              
}


05 小结

算法专题目前已日更超过五个月,算法题文章179+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

转载于:https://www.cnblogs.com/xiaochuan94/p/10733790.html

http://www.jmfq.cn/news/4761325.html

相关文章:

  • 做seo网站优化价格/b2b电子商务平台网站
  • 用axure做网站/百度关键词购买
  • 国外做评论的网站/正规赚佣金的平台
  • 做团膳有哪些网站/今日头条十大热点
  • 建材 团购 网站怎么做/鄂州网站seo
  • 在哪里做网站好/网站seo推广公司靠谱吗
  • 做公益的网站有哪些/美国婚恋网站排名
  • 南宁建设网站制作/重庆森林壁纸
  • 做网站滨州/太原百度网站快速排名
  • 做网站如何宣传/百度搜索推广费用
  • wordpress 添加新页面/网站如何做优化推广
  • 网站功能说明怎么做/如何在百度推广
  • 如何做网站免费搭桥链接/网络营销和网上销售的区别
  • 做网站需要了解什么/百姓网推广电话
  • 自己怎样做免费网站/百度指数搜索热度大学
  • 买商标/seo查询 工具
  • 生产销售管理软件/外贸网站建设优化
  • 做网站搜索结果的代码/武汉seo外包平台
  • 一站式网站建设报价/八大营销方式有哪几种
  • 厦门网站建设 智多星/汕头seo建站
  • 番禺做网站设计/营销策略有哪些理论
  • 三里河网站建设/百度权重查询爱站网
  • 软件网站下载/seo流量排名软件
  • 开封网站制作哪家好/抖音营销软件
  • 自己做的网站发布详细步骤/明星百度指数排行
  • 百度搜索引擎推广怎么弄/企业seo排名
  • 千库网素材免费下载官方/女生seo专员很难吗为什么
  • 网站建设方案 下载/软文素材网站
  • 专门代做毕设的网站/百度图片收录提交入口
  • 北京住房和城乡建设部网站首页/网络优化的基本方法