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

剑指Offer系列(java版,详细解析)64.求1+2+...+n

题目描述

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

难度中等308收藏分享切换为英文接收动态反馈

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

示例 1:

输入: n = 3
输出: 6

示例 2:

输入: n = 9
输出: 45

限制:

  • 1 <= n <= 10000

测试用例

  • 功能测试(输入5、10求1+2+…+5和1+2+…+10)
  • 边界值测试(输入0和1)

题目考点

  • 考察应聘者的发散思维能力。
  • 考察应聘者的知识面的广度和深度。

解题思路

反正肯定是用递归,然后我们需要的就是怎么把返回条件确定好。

条件与 && 具有短路原则,即在第一个条件语句为 false 的情况下不会去执行第二个条件语句。利用这一特性,将递归的返回条件取非然后作为 && 的第一个条件语句,递归的主体转换为第二个条件语句,那么当递归的返回条件为 true 的情况下就不会执行递归的主体部分,递归返回。

自己解题

发散思维不够呀

参考解题

class Solution {
    public int sumNums(int n) {
        boolean x = n > 1 && (n += sumNums(n - 1)) > 0;
        return n;
    }
}

相关文章:

  • 剑指Offer系列(java版,详细解析)65.不用加减乘除做加法
  • 剑指Offer系列(java版,详细解析)66.构建乘积数组
  • 剑指Offer系列(java版,详细解析)67.把字符串转化成整数
  • 剑指Offer系列(java版,详细解析)68.树中两个节点的最低公共祖先
  • Go语言fmt.Sprintf(格式化输出)
  • Go 面试系列:Go interface中nil的比较问题
  • Go 面试系列: new 和 make有什么不同之处呢?
  • Go 面试系列: Goroutine 数量是越多越好吗?设置多少会影响GC调度呢?
  • 什么是读、写扩散?
  • 一文搞定权限设计模型(RBAC,ABAC)超详细图文解析
  • 一文搞定权限管理!授权、鉴权超详细解析
  • Go 中的 JSON如何序列化和反序列化?来看看go的包怎么实现!
  • Go中如何比较两个json?深度优先搜索解决,超详细代码!
  • Go语言实现枚举方法,const和iota结合轻松实现
  • Go msgp序列化使用详解!比Json更快!面试时吊打面试官!
  • Effective Java 笔记(一)
  • express + mock 让前后台并行开发
  • Flannel解读
  • github指令
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • MobX
  • orm2 中文文档 3.1 模型属性
  • Python进阶细节
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Spark RDD学习: aggregate函数
  • SpingCloudBus整合RabbitMQ
  • SpringBoot几种定时任务的实现方式
  • win10下安装mysql5.7
  • 关于springcloud Gateway中的限流
  • 欢迎参加第二届中国游戏开发者大会
  • 聊聊directory traversal attack
  • 前嗅ForeSpider教程:创建模板
  • 如何用vue打造一个移动端音乐播放器
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 怎么把视频里的音乐提取出来
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • Spring第一个helloWorld
  • !!java web学习笔记(一到五)
  • # Apache SeaTunnel 究竟是什么?
  • #QT项目实战(天气预报)
  • (1)虚拟机的安装与使用,linux系统安装
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (循环依赖问题)学习spring的第九天
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET 服务 ServiceController
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • [acm算法学习] 后缀数组SA
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [android] 练习PopupWindow实现对话框
  • [android] 请求码和结果码的作用