剑指Offer - 面试题64. 求1+2+…+n(递归)
1. 题目
求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
示例 1:
输入: n = 3
输出: 6示例 2:
输入: n = 9
输出: 45限制:
1 <= n <= 10000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/qiu-12n-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 不能乘除,不能用公式
- 不能循环(
for、while
) - 递归,终止不能用
if
class Solution {public:int sumNums(int n) {if(n==0)return 0;return n+sumNums(n-1);}
};
把上面终止条件改一下:
n && (n = n+sumNums(n-1));//当n为0时,后面短路了,不会继续递归
class Solution {public:int sumNums(int n) {n && (n += sumNums(n-1));return n;}
};
剑指Offer - 面试题64. 求1+2+…+n(递归)相关推荐
- 剑指offer 面试题64. 求1+2+…+n
求 1+2+...+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: 输入: n = 3 输出: 6 示例 2: ...
- 剑指offer面试题64. 求1+2+…+n(逻辑符短路)(递归)
题目描述 求 1+2+-+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 思路 详见链接 代码 class Solution ...
- 剑指offer面试题[64]-数据流中的中位数
题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 分 ...
- 剑指offer——面试题64:数据流中的中位数
剑指offer--面试题64:数据流中的中位数 Solution1: 最笨的方法了... class Solution { public:void Insert(int num) {num_strea ...
- 剑指offer面试题之求第n个丑数
1,问题: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 2,想法 ...
- [Leedcode][第十题][剑指offer]面试题第[19]题[正则表达式][动态规划][递归][JAVA]
[问题描述][困难] 请实现一个函数用来匹配包含'. '和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字符匹 ...
- 剑指Offer - 面试题24. 反转链表(遍历/递归)
1. 题目 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4-&g ...
- 剑指offer——面试题46:求1+2+...+n
剑指offer--面试题46:求1+2+-+n 题目描述 求1+2+3+-+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 个 ...
- 剑指offer——面试题9:求斐波那切数列的四种方法
剑指offer--面试题9:求斐波那切数列的四种方法 另一个相关的链接:https://blog.csdn.net/Allenlzcoder/article/details/80297333 总结下求 ...
最新文章
- swoole实现数据库连接池
- 一个由进程内存布局异常引起的问题
- CentOS6 安装 MySQL 并配置
- 爱是谋杀:读徐小斌的《别人》
- 宝塔反代默认缓存了html吗,宝塔面板安装 OneList 设置反代
- bzoj 3156: 防御准备
- 【实践】微博多尺度序列推荐算法实践.pdf(附下载链接)
- SAX与DOM之间的区别 转帖
- Java中的ConcurrentModificationException
- 助你成为专业终端人,阿里巴巴第三届终端练习生计划开启报名!
- 咪咕音乐播放器 ubuntu 安装详解
- 微软所有正版软件下载网站ITELLYOU
- 压缩包文件密码忘记了文件怎么办?
- 股票、期货、数字货币技术指标库TA-Lib
- 如何做好一个产品经理
- 网页中的动漫人物互动——看板娘
- macOS 安装lrzsz
- 对高尔顿数据集实现线性回归分析
- 多云时代,IBM云计算有什么不同?
- java 摄像头 视频_javaCV-摄像头实时视频