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

剑指 Offer 64. 求 1 + 2 + … + n(java解题)

剑指 Offer 64. 求 1 + 2 + … + n(java解题)

  • 1. 题目
  • 2. 解题思路
  • 3. 数据类型功能函数总结
  • 4. java代码

1. 题目

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

示例 1:

输入: n = 3
输出: 6

示例 2:

输入: n = 9
输出: 45

限制:

1 <= n <= 10000

作者:Krahets
链接:https://leetcode.cn/leetbook/read/illustration-of-algorithm/9h44cj/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2. 解题思路

求解这个公式,首先的常见想法是使用循环,但是for、while禁止使用,第二个思路是形成公式,1+2+……+n=n*(n+1)/2,但是没办法将公式转化为非乘除的形式,最后,为了“消除循环”,考虑使用递归。递归除了需要使用if-else,其他方面能够满足要求。
在解题的过程中,我一时间没有意识到if-else被禁止,因此还是使用传统的递归结构。
但是官方题解显然更进一步,使用逻辑表达式消除了if-else结构,相当巧妙

boolean x=n>1 && (n+=sumNums(n-1))>0;
return n;
//等价于
if(n==1||n==0){return 0;
}
else{return n+sumNums(n-1);
}

3. 数据类型功能函数总结

//无

4. java代码

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

相关文章:

剑指 Offer 64. 求 1 + 2 + … + n(java解题)

剑指 Offer 64. 求 1 2 … n&#xff08;java解题&#xff09;1. 题目2. 解题思路3. 数据类型功能函数总结4. java代码1. 题目 求 12…n &#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句&#xff08;A?B:C&#xff09;。 示例…...

2022 年度_职业项目总结_Java技术点归纳

Java技术点归纳目录概述需求&#xff1a;设计思路实现思路分析1.Structs 元工程改造2.个贷子系统开发3.架构的迭代开发&#xff0c;升级&#xff0c;部署&#xff0c;参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,fu…...

【项目实战】32G的电脑启动IDEA一个后端服务要2min,谁忍的了?

一、背景 本人电脑性能一般&#xff0c;但是拥有着一台高性能的VDI&#xff08;虚拟桌面基础架构&#xff09;&#xff0c;以下是具体的配置 二、问题描述 但是&#xff0c;即便是拥有这么高的性能&#xff0c;每次运行基于Dubbo微服务架构下的微服务都贼久&#xff0c;以下…...

接口自动化面试题汇总(持续更新)

在自动化测试过程中&#xff0c;你如何处理测试数据&#xff1f;你会使用哪些方法来生成测试数据&#xff1f; 在自动化测试过程中&#xff0c;测试数据对于测试的准确性和覆盖率至关重要&#xff0c;常见方法有&#xff1a; 1、使用真实的生产数据&#xff1a;使用真实的生产…...

SpringBoot实现静态资源映射,登录功能以及访问拦截验证——以黑马瑞吉外卖为例

目录 一、项目简介 二、设置静态资源访问路径 三、实现登录功能 四、拦截访问请求 本篇文章以黑马瑞吉外卖为例 一、项目简介 瑞吉外卖项目分为后台和前台系统&#xff0c;后台提供给管理人员使用&#xff0c;前台则是用户订餐使用 资源我们放在resources下 二、设置静态…...

PythonWeb Django PostgreSQL创建Web项目(三)

了解Django框架下如何配置数据库链接与创建模型和应用 使用Django创建web项目&#xff0c;首先需要了解生成的项目文件结构&#xff0c;以及对应文件功能用途方可开始web项目页面创建&#xff0c;下方先介绍文件功能&#xff0c;之后再配置数据库连接以及管理创建模型与应用&a…...

【Visual Studio】git提交代码时使用GPG

前言 下载安装GPG的过程省略,直接开始进行配置 0.visual studio 版本说明 其余版本未测试,但是应该也是可以的 1 获取GPG的密钥ID 1.1 window下可以打开Kleopatra查看生成好的密钥的密钥ID 1.2 也可以从命令行中获取 gpg --list-keys 红框位置,后16位就是密钥ID 2 配置.git…...

【反序列化漏洞-02】PHP反序列化漏洞实验详解

为什么要序列化百度百科上关于序列化的定义是&#xff0c;将对象的状态信息转换为可以存储或传输的形式(字符串)的过程。在序列化期间&#xff0c;对象将其当前状态写入到临时或持久性存储区(非关系型键值对形式的数据库Redis&#xff0c;与数组类似)。以后&#xff0c;可以通过…...

Gateway网关的使用

Gateway服务网关Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。1…...

【LeetCode】背包问题总结

文章目录一、背包能否装满&#xff1f;416. 分割等和子集1049. 最后一块石头的重量 II二、装满背包有几种方法&#xff1f;494. 目标和518.零钱兑换II377. 组合总和 Ⅳ70. 爬楼梯三、背包装满的最大价值474.一和零四、装满背包最小物品数322. 零钱兑换279.完全平方数一、背包能…...

Java的开发工具有哪些?这十款工具大厂都在用!

工欲善其事必先利其器&#xff0c;各位同学大家好&#xff0c;我是小源~本期文章&#xff0c;给大家推荐十款Java的开发工具。一、 文本编辑器主要推荐三款&#xff1a;notepad、editplus、sublime text。这三款编辑工具&#xff0c;在我们的开发工作中几乎是相差无几&#xff…...

web学习-Node.js入门学习

web学习-Node.js入门学习1.回顾与思考2. 初识Node.js2.1 Node.js的简介2.2Node.js的环境安装2.3. fs文件系统模块2.3.1 fs.readFile()2.3.2 fs.writeFile()2.3.3 练习-整理考试成绩2.3.4 fs模块-路径动态拼接的问题2.4 path路径模块2.5 http模块2.5.1 服务器相关的概念2.5.2 创…...

100 eeeee

全部 答对 答错 敏捷综合训练3 1.看板中的精益生产概念是如何减少工作在瓶颈时期的影响&#xff1f; A它不会减少瓶颈&#xff0c;因为瓶颈是任何生产系统不可避免的副产品 B通过运用 5Y 分析根本原因 C通过成为一个及时的进度系统 D通过每周完善活动 答错了 收藏 学员得…...

物盾安全汤晓冬:工业互联网企业如何应对高发的供应链安全风险?

编者按&#xff1a;物盾安全是一家专注于物联网安全的产品厂商&#xff0c;其核心产品“物安盾”在能源、制造、交通等多个领域落地&#xff0c;为这些行业企业提供覆盖物联网云、管、边、端的安全整体解决方案。“物安盾”集成了腾讯安全制品扫描&#xff08;BSCA&#xff09;…...

微纳制造技术——基础知识

1.什么是直接带隙半导体和间接带隙半导体 导带底和价带顶处以同一K值&#xff0c;称为直接带隙半导体 导带底和价带顶不处在同一K值&#xff0c;称为间接带隙半导体 2.扩散和漂移的公式 3.三五族半导体的性质 1.high mobility 2.wide bandgap 3.direct bandgap 4.三五族…...

Makefile的使用

Makefile的使用 自动化编译脚本&#xff0c;这个东西就是&#xff0c;进行简单的设置&#xff0c;然后实现原码编成为相应程序&#xff0c;简单化自己进行相关操作的过程。不需要一个个自己进行全部进行输入。而且还有许多的简化书写方法。 ​ 这个Makefile的本质为一种脚本语言…...

RealBasicVSR模型转成ONNX以及用c++推理

文章目录安装RealBasicVSR的环境1. 新建一个conda环境2. 安装pytorch(官网上选择合适的版本)版本太低会有问题3. 安装 mim 和 mmcv-full4. 安装 mmedit下载RealBasicVSR源码下载模型文件写一个模型转换的脚步测试生成的模型安装RealBasicVSR的环境 1. 新建一个conda环境 cond…...

C语言作用域(变量生存的空间)学习

C 作用域规则 任何一种编程中&#xff0c;作用域是程序中定义的变量所存在的区域&#xff0c;超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量&#xff1a; 在函数或块内部的局部变量 在所有函数外部的全局变量 在形式参数的函数参数定义中 让我们来看看什么是局…...

Spark性能优化一 概念篇

&#xff08;一&#xff09;宽依赖和窄依赖 窄依赖(Narrow Dependency)&#xff1a;指父RDD的每个分区只被子RDD的一个分区所使用&#xff0c;例如map、filter等 这些算子一个RDD&#xff0c;对它的父RDD只有简单的一对一的关系&#xff0c;也就是说&#xff0c;RDD的每个part…...

[数据结构]:09-二分查找(顺序表指针实现形式)(C语言实现)

目录 前言 已完成内容 二分查找实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SearchFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容&#xff0c;除其中使用到C引用外&#xff0c;全为C语言代码。使用C引用主要…...

BouncyCastle.NET证书管理完全教程:生成、验证与撤销的终极指南 [特殊字符]

BouncyCastle.NET证书管理完全教程&#xff1a;生成、验证与撤销的终极指南 &#x1f510; 【免费下载链接】bc-csharp BouncyCastle.NET Cryptography Library (Mirror) 项目地址: https://gitcode.com/gh_mirrors/bc/bc-csharp 在当今数字安全至关重要的时代&#xff…...

电赛信号分析不止于FFT:用STM32F407的ADC-DMA与加窗技术提升THD测量稳定性的实操指南

电赛信号分析进阶&#xff1a;STM32F407的ADC-DMA与加窗技术实战 在电子设计竞赛的信号分析环节&#xff0c;许多队伍止步于基础的FFT实现&#xff0c;却忽略了采样质量与频谱处理对THD&#xff08;总谐波失真&#xff09;测量结果的深远影响。当你的系统已经能够输出波形和基础…...

WELearn网课助手:5分钟告别熬夜刷课,实现高效学习自由的终极指南

WELearn网课助手&#xff1a;5分钟告别熬夜刷课&#xff0c;实现高效学习自由的终极指南 【免费下载链接】WELearnHelper 显示WE Learn随行课堂题目答案&#xff1b;支持班级测试&#xff1b;自动答题&#xff1b;刷时长&#xff1b;基于生成式AI(ChatGPT)的答案生成 项目地址…...

J-Link V8变砖别慌!手把手教你用SAM-BA 2.14救活AT91SAM7S64芯片

J-Link V8救砖实战&#xff1a;用SAM-BA 2.14拯救AT91SAM7S64芯片全指南 当你的J-Link V8调试器突然"变砖"——LED灯熄灭、电脑无法识别、所有功能瘫痪时&#xff0c;那种感觉就像外科医生在手术台上突然失去所有仪器。但别急着宣布它的"死亡"&#xff0c;…...

2026年好用的录音转文字工具怎么选?从链接提取到实时转写的完整方案

做会议记录、课堂笔记或内容创作时&#xff0c;经常卡在两个问题上&#xff1a;一是录音文件堆积成山不知道从何整理&#xff0c;二是转完文字还要花时间校对和调整。微信里有个叫提词匠的小程序在这类需求里效率比较实用&#xff0c;下面会重点拆解它怎么用&#xff0c;同时也…...

如何高效下载30+文档平台资源:kill-doc文档下载工具完整指南

如何高效下载30文档平台资源&#xff1a;kill-doc文档下载工具完整指南 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是…...

Steam库存管理革命:5分钟掌握批量操作终极指南

Steam库存管理革命&#xff1a;5分钟掌握批量操作终极指南 【免费下载链接】Steam-Economy-Enhancer 中文版&#xff1a;Enhances the Steam Inventory and Steam Market. 项目地址: https://gitcode.com/gh_mirrors/ste/Steam-Economy-Enhancer Steam Economy Enhancer…...

087、机器人运动学:雅可比矩阵

087、机器人运动学:雅可比矩阵 一、一个让我熬夜三天的调试故事 去年做六轴协作机器人末端力控的时候,遇到一个诡异的问题:机器人末端在某个位姿下,明明关节速度指令给得很平滑,末端速度却突然跳变,导致力控震荡。当时我盯着示波器上的速度曲线,百思不得其解——运动学…...

从零到一:UniApp CLI 实战入门与避坑指南

1. 为什么需要UniApp CLI&#xff1f; 第一次接触UniApp的开发者可能会疑惑&#xff1a;明明有HBuilderX这样完善的图形化工具&#xff0c;为什么还要学习CLI&#xff1f;这个问题我也曾经纠结过。经过多个项目的实战验证&#xff0c;我发现CLI在以下场景中优势明显&#xff1a…...

完全掌握Adobe软件激活:5个实用技巧深度解析

完全掌握Adobe软件激活&#xff1a;5个实用技巧深度解析 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 你是否曾经为Adobe Creative Cloud的订阅费用感到困扰&…...