【LeetCode笔记】剑指 Offer 64. 求1 + 2 + ... + n (Java、限制语法、二刷)
文章目录
- 题目描述
- 思路 && 代码
- 注释版代码(方便理解):
- 无注释版代码(方便背诵= =)
- 二刷
题目描述
鬼鬼,又到了我最喜欢的戴着脚镣跳舞环节。
讲道理,我觉得这类题应该整个归纳啥的。。(有空我整一个)
不看题解可能挺难想出来的,限制点不给除法、不给加减法、循环什么的,但是讲道理也还挺有趣的,也算是加深对位运算符、语言语法的理解。
- 直接看思路吧~
思路 && 代码
- 用 && 短路特性实现 if
- 用 boolean 的表达式,“召唤”出 &&
- 用递归实现循环
注释版代码(方便理解):
class Solution {int ans = 0;// 用递归实现循环的效果public int sumNums(int n) {// x 值是什么、sumNums(n - 1)是否大于0都不重要,重要的是这行代码等价于:// if(n > 1) {// sumNums(n - 1);// } boolean x = n > 1 && sumNums(n - 1) > 0;// 走到这步的时候,ans = 1 + 2 + ... + n - 1 了ans += n;return ans;}
}
无注释版代码(方便背诵= =)
- 四行解决
class Solution {int ans = 0;public int sumNums(int n) {boolean x = n > 1 && sumNums(n - 1) > 0;ans += n;return ans;}
}
二刷
- 鬼鬼,二刷不出意料地懵逼了= =
class Solution {int ans = 0;public int sumNums(int n) {boolean bool = n > 1 && sumNums(n - 1) > 114514;ans += n;return ans;}
}
【LeetCode笔记】剑指 Offer 64. 求1 + 2 + ... + n (Java、限制语法、二刷)相关推荐
- 【LeetCode】剑指 Offer 64. 求1+2+…+n
[LeetCode]剑指 Offer 64. 求1+2+-+n 文章目录 [LeetCode]剑指 Offer 64. 求1+2+-+n package offer;public class Solu ...
- LeetCode 剑指Offer 64.求1,2到n的和, 不使用循环/判断及乘除
题目 剑指 Offer 64. 求1+2+-+n 求 1+2+-+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: ...
- 剑指Offer 64 求1+2+...+n
求1+2+...+n 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 1 # -*- coding:ut ...
- 剑指 Offer 64. 求1+2+…+n(面试题中的短路与)
题目: 求 1+2+-+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: 输入: n = 3 输出: 6 示例 2 ...
- leetcode刷题笔记——剑指offer(二)[回溯、排序、位运算、数学、字符串]
这里写目录标题 搜索与回溯 剑指 Offer 12. 矩阵中的路径 剑指 Offer 13. 机器人的运动范围 剑指 Offer 34. 二叉树中和为某一值的路径 剑指 Offer 36. 二叉搜索树 ...
- 剑指offer 64.68Ⅰ.68Ⅱ. 搜索与回溯算法(中等)
64. 题目: 剑指 Offer 64. 求1+2+-+nhttps://leetcode-cn.com/problems/qiu-12n-lcof/ 想法:使用递归.但是终止递归需要if,能不能不用 ...
- 【LeetCode】剑指 Offer 27. 二叉树的镜像
[LeetCode]剑指 Offer 27. 二叉树的镜像 文章目录 [LeetCode]剑指 Offer 27. 二叉树的镜像 一.递归法 二.辅助栈(或队列) 一.递归法 根据二叉树镜像的定义,考 ...
- 《LeetCode力扣练习》剑指 Offer 10- II. 青蛙跳台阶问题 Java
<LeetCode力扣练习>剑指 Offer 10- II. 青蛙跳台阶问题 Java 一.资源 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总 ...
- 【LeetCode】剑指 Offer 54. 二叉搜索树的第k大节点
[LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 文章目录 [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 一.中序遍历(提前返回) 一.中序遍历(提前返回) ...
最新文章
- vsftpd的基于pam_mysql的虚拟用户机制
- Hyper-V的管理与使用之一:添加功能
- Java高级语法笔记-模板类
- 推荐系统遇上深度学习(六)--PNN模型理论和实践
- 2-27 最短路径《啊哈算法》2-28完成四种算法
- 标准模块 threading
- 以消费者为中心,服装行业如何应用人工智能提升客流量?
- 简历包装严重,作为面试官,我是如何甄别应聘者的包装程度
- Cortex-M中特别实用的DWT计数器
- 博士生导师谈他如何检索文献
- 简单维修MacBook Air——更换SSD硬盘
- Win10怎么默认用Windows照片查看程序打开图片
- 三国志2霸王的大陆 武器大全
- 计算机数学与数学文化-定义
- 复习Java入门与基础语法生活【记录一个咸鱼大学生三个月的奋进生活】002
- QT学习日志(附:简易计算器,qq登录界面,简易绘图板,植物大战僵尸魔改版项目实践)
- SIP协议-04 SIP头域
- 犬夜叉手游觉醒服务器维护,《犬夜叉-觉醒》最详细最容易入门新手指导
- C++ Primer 学习笔记(5)
- 过关斩将属性配置出现问题
热门文章
- C++: error: call of overloaded ‘abs(int)’ is ambiguous
- java 设计方法_java 中如何处理设计一个方法
- 混淆矩阵及分类性能评估方法
- scikit-learn流形学习手写数字可视化
- dlib+vs2013+opencv实现人脸特征点检测
- Java消息服务~自动分配的消息头
- Replace Array with Object(以对象取代数组)
- Struts2自定义标签(template)——示例
- 数据可视化--pyecharts绘图
- mysql配置文件完全_MySQL配置文件my.cnf详解