文章目录

  • 题目描述
  • 思路 && 代码
      • 注释版代码(方便理解):
      • 无注释版代码(方便背诵= =)
    • 二刷

题目描述

鬼鬼,又到了我最喜欢的戴着脚镣跳舞环节。
讲道理,我觉得这类题应该整个归纳啥的。。(有空我整一个)
不看题解可能挺难想出来的,限制点不给除法、不给加减法、循环什么的,但是讲道理也还挺有趣的,也算是加深对位运算符、语言语法的理解。

  • 直接看思路吧~

思路 && 代码

  • 用 && 短路特性实现 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、限制语法、二刷)相关推荐

  1. 【LeetCode】剑指 Offer 64. 求1+2+…+n

    [LeetCode]剑指 Offer 64. 求1+2+-+n 文章目录 [LeetCode]剑指 Offer 64. 求1+2+-+n package offer;public class Solu ...

  2. LeetCode 剑指Offer 64.求1,2到n的和, 不使用循环/判断及乘除

    题目 剑指 Offer 64. 求1+2+-+n 求 1+2+-+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: ...

  3. 剑指Offer 64 求1+2+...+n

    求1+2+...+n 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 1 # -*- coding:ut ...

  4. 剑指 Offer 64. 求1+2+…+n(面试题中的短路与)

    题目: 求 1+2+-+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: 输入: n = 3 输出: 6 示例 2 ...

  5. leetcode刷题笔记——剑指offer(二)[回溯、排序、位运算、数学、字符串]

    这里写目录标题 搜索与回溯 剑指 Offer 12. 矩阵中的路径 剑指 Offer 13. 机器人的运动范围 剑指 Offer 34. 二叉树中和为某一值的路径 剑指 Offer 36. 二叉搜索树 ...

  6. 剑指offer 64.68Ⅰ.68Ⅱ. 搜索与回溯算法(中等)

    64. 题目: 剑指 Offer 64. 求1+2+-+nhttps://leetcode-cn.com/problems/qiu-12n-lcof/ 想法:使用递归.但是终止递归需要if,能不能不用 ...

  7. 【LeetCode】剑指 Offer 27. 二叉树的镜像

    [LeetCode]剑指 Offer 27. 二叉树的镜像 文章目录 [LeetCode]剑指 Offer 27. 二叉树的镜像 一.递归法 二.辅助栈(或队列) 一.递归法 根据二叉树镜像的定义,考 ...

  8. 《LeetCode力扣练习》剑指 Offer 10- II. 青蛙跳台阶问题 Java

    <LeetCode力扣练习>剑指 Offer 10- II. 青蛙跳台阶问题 Java 一.资源 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总 ...

  9. 【LeetCode】剑指 Offer 54. 二叉搜索树的第k大节点

    [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 文章目录 [LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点 一.中序遍历(提前返回) 一.中序遍历(提前返回) ...

最新文章

  1. vsftpd的基于pam_mysql的虚拟用户机制
  2. Hyper-V的管理与使用之一:添加功能
  3. Java高级语法笔记-模板类
  4. 推荐系统遇上深度学习(六)--PNN模型理论和实践
  5. 2-27 最短路径《啊哈算法》2-28完成四种算法
  6. 标准模块 threading
  7. 以消费者为中心,服装行业如何应用人工智能提升客流量?
  8. 简历包装严重,作为面试官,我是如何甄别应聘者的包装程度
  9. Cortex-M中特别实用的DWT计数器
  10. 博士生导师谈他如何检索文献
  11. 简单维修MacBook Air——更换SSD硬盘
  12. Win10怎么默认用Windows照片查看程序打开图片
  13. 三国志2霸王的大陆 武器大全
  14. 计算机数学与数学文化-定义
  15. 复习Java入门与基础语法生活【记录一个咸鱼大学生三个月的奋进生活】002
  16. QT学习日志(附:简易计算器,qq登录界面,简易绘图板,植物大战僵尸魔改版项目实践)
  17. SIP协议-04 SIP头域
  18. 犬夜叉手游觉醒服务器维护,《犬夜叉-觉醒》最详细最容易入门新手指导
  19. C++ Primer 学习笔记(5)
  20. 过关斩将属性配置出现问题

热门文章

  1. C++: error: call of overloaded ‘abs(int)’ is ambiguous
  2. java 设计方法_java 中如何处理设计一个方法
  3. 混淆矩阵及分类性能评估方法
  4. scikit-learn流形学习手写数字可视化
  5. dlib+vs2013+opencv实现人脸特征点检测
  6. Java消息服务~自动分配的消息头
  7. Replace Array with Object(以对象取代数组)
  8. Struts2自定义标签(template)——示例
  9. 数据可视化--pyecharts绘图
  10. mysql配置文件完全_MySQL配置文件my.cnf详解