1. 首页
  2. 剑指offer经典面试题

[剑指 Offer 第 2 版第 64 题] “求1+2+3+…+n”做题记录

[剑指 Offer 第 2 版第 64 题] “求1+2+3+…+n”做题记录

第 64 题:求 1 + 2 + 3 + … + n

传送门:AcWing:求 1 + 2 + 3 + … + n牛客网 online judge 地址

1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句(A?B:C)。

样例:

输入:10

输出:55

Java 代码:

liwei20191011110_1.png

liwei201910116_2.png

分析:等差数列求和的通项公式如下: s=\\cfrac{n(n+1)}{2} = \\cfrac{n^2+n}{2} 将上面的公式中的运算换成只用加法、乘方运算、位运算。

Python 代码:

  class Solution(object):
        def getSum(self, n):
            """
            :type n: int
            :rtype: int
            """

            return (n ** 2 + n) >> 1

作者:liweiwei1419

来源:https://liweiwei1419.github.io/sword-for-offer/


JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

标题:[剑指 Offer 第 2 版第 64 题] “求1+2+3+…+n”做题记录

链接:https://www.javajike.com/article/3317.html

« [剑指 Offer 第 2 版第 58-2 题] “左旋转字符串”做题记录
[剑指 Offer 第 2 版第 3 题] “数组中重复的数字”做题记录»

相关推荐

QR code