剑指offer 面试题64 求1+2+3+...+n

《剑指offer》Java版 一、引言 《剑指offer》可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题。但是书上的代码都是C版的,我在这里整理了一份Java版的代码供大家学习参考,这些代码我都是在OJ上跑过全AC的,所以正确性你大可放心。 二、目录 1赋值运算函数 2单例设计模式 3二维数组中查找目标值 4替换字符串中的空格 5从尾到头打印链表 6由前序和中序遍历重建二叉树 7用两... 阅读详情

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

tips: 使用构造函数,保留类的静态变量存储sum值。

class Temp {
private:
    static int sum;
    static int n;
public:
    Temp() {
        ++n;
        sum+=n;
    }
    static void Reset() {
        n=0;
        sum=0;
    }
    static int getSum() {
        return sum;
    }
};

int Temp::n=0;
int Temp::sum=0;

class Solution {
public:
    int Sum_Solution(int n) {
        // n-=1;
        Temp::Reset();
        
        Temp* a=new Temp[n];
        delete []a;
        a=NULL;
        return Temp::getSum();
    }
};

tips: 利用逻辑与(&&)的短路求值原理作为终止条件。

class Solution {
public:
    int Sum_Solution(int n) {
        int ans = n;
        ans && (ans += Sum_Solution(n - 1));
        return ans;
    }
};
Yolov5实现道路裂缝检测 Yolov5实现道路裂缝检测 参考代码链接 Github代码链接 基于Pytorch的Yolov5道路裂缝检测程序运行说明。大家可以结合我的说明和原文说明使用,有问题欢迎询问。 文章目录Yolov5实现道路裂缝检测环境要求测试训练自己的数据集1.创建dataset.yaml文件2.创建标签文件3.组织文件路径4.选择模型5.开始训练 环境要求 Python 3.8或之后的版本 还要安装requirements.txt文件中所有依赖包,包括1.7及以上版本的torch $ pip install -r req 阅读详情

相关推荐

Django 前后端分离实战:网络设备运维系统 - 从登录认证到业务模块

这篇文章分享了Django+Vue前后端分离开发网络设备运维系统的实战经验,重点介绍了登录认证、全局布局和设备管理三大模块的实现。文章包含以下核心内容: 登录模块实现:包括表单验证、Token认证、记住密码功能,以及美观的UI设计(渐变背景、毛玻璃效果) 全局布局架构:采用侧边栏+顶部导航的响应式设计,支持菜单权限控制和多设备适配 业务功能开发:详细展示了设备分类和部门管理的CRUD功能实现,包括列表展示、搜索过滤、分页等功能 常见问题解决:提供了5个开发中常见问题的解决方案,如Vue Router警告、C

qq_16766705的博客 525

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

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

kashine的博客 185

懒人精灵手游内存技术分析

教学声明:全套教程教学用到的游戏采用手游私服网游进行测试,不针对任何游戏。教学只做计算机技术研究,不做其他用途。

yizhihaoren123的博客 1655

剑指offer系列——剑指 Offer 64. 求1+2+…+n

大家好!本篇文章将介绍的剑指offerOJ题,来自力扣剑指 Offer 64. 求1+2+…+n题解,这道题乍一看很简单,但是不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)使这道题难度上了好几个台阶,本文将使用逻辑运算符短路来模拟构造判断语句,以递归的形式解决这道题,展示代码语言暂时为:Java,C,C++。

未见花闻的博客 1851

一文搞懂【Linux 搭建 Dread Hunger 服务器】附本体及Docker部署集群方案

看直播发现了五花八门的开服器和版本,一时兴起按官方文档进行了搭建尝试,所以我的版本基于官方Stream2024.01.10更新的版本,也就是停服时的玩法,应该可以根据mod和补丁魔改成更那些开服器一样的版本,本文不做谈论,注重服务器搭建,毕竟8个人不可能在一个局域网里乱象:首先,我看了大量教程视频,一类是开服器的推广,另一类自建的基本采用Windows搭建,我觉得最离谱的是大部分教程都会教你买一台远程Windows虚拟机???

LHmine的博客 3983

自旋玻璃(spin glass)、自旋冰(spin ice)和量子自旋液体(quantum spin liquid)(之二)

具有相同电荷的电子相互排斥。结果,为了在极其拥挤的环境中相互超越,他们不得不改变自己的行为。剑桥大学和英国伯明翰大学于 2009 年 7 月发表的研究表明,电子可以通过量子隧穿从金属表面跳到相近位置的量子线上,这样做后,将分离成两个准粒子,命名为的自旋子和全子。Van den Brink、Khomskii 和 Sawatzky 在 1997-1998 年对轨道子进行了理论上的预测。在 2011 年 9 月发给出版商的论文中报告了它作为一个单独的准粒子的实验观察结果。

qq_32515081的博客 1万+

《剑指 Offer 》—64、求1+2+…+n

《剑指 Offer 》—64、求1+2+…+n

小贺想改变 606

在 SAP 里玩转 FTP:标准程序 RSFTP00x 全景解析与落地实践

摘要:SAP系统通过封装的标准FTP程序(RSFTP001-008)提供便捷的文件传输能力,适用于各类集成场景。关键点包括:1)依赖SAPFTP可执行程序和RFC目的地;2)使用RSFTP005进行前置检查并生成RFC配置;3)标准报表各司其职,如RSFTP002用于命令测试、RSFTP007/008提供参考实现;4)开发时组合FTP_CONNECT/COMMAND/DISCONNECT等函数模块。特别注意前台(SAPFTP)与后台(SAPFTPA)的环境差异,这是常见故障点。该方案通过标准化工具链显著降低

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 210

剑指offer题64

package jianzhioffer; import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.Scanner; /** * 如何得到一个数据流中的中位数?如果从数据流中读

xingchenhy的博客 415

ubuntu系统禁止/开启内核自动更新

内核自动更新会导致驱动和内核版本不对应,导致驱动无法使用,所以需要禁止自动更新内核。本文介绍ubuntu系统禁止/开启内核更新的方法。

m0_50105717的博客 5289

【Simulink教程案例19】基于simulink的扩频通信系统建模与仿真

扩频是一种应用于数字调制信号的调制技术,可以提高传输信号的带宽。扩频通信具有抗干扰能力强,扩频增益越大,抗干扰能力越强。而且扩频通信具有很强的保密性,扩频后信号近似白噪声,功率谱密度也很低。扩频通信可用于多址通信。扩频调制有如下三个特点:① 扩频后信号的带宽远大于信号所需的带宽② 使用扩频码进行扩频调制,扩频码与信号中的数据相互独立③ 在接收端,通过将接收信号与扩频码的同步副本进行相关,实现解扩。

FPGA/MATLAB学习教程/源码/项目合作开发 2196

用python解决s=1+2+3+4……+n的问题

利用Python语言编程,计算s=1+1/2+1/3+1/4+…+1/n,n通过输入取得。 第一步:输入n的值 n = int(input("请输入n的值:")) 确定s的初始值:s = 0 while n >= 1:(取n的取值范围) s = s + n n = n - 1 输出s的值:print(s) # 使用while语句 ...

hua20030820的博客 1万+

把 SAP ABAP BDC 跑得又快又稳:从 SHDB 录屏到可上线的批量上传程序(含 MM01 案例与源码)

SAP BDC批量数据迁移实践 摘要:本文介绍了SAP系统中BDC(Batch Data Communication)技术在数据迁移中的应用。文章首先对比了Session method和CALL TRANSACTION method两种实现方式的特点及适用场景,重点推荐使用Session method进行主数据批量处理。然后详细讲解了通过SHDB工具录制MM01事务创建物料主数据的完整流程,包括如何生成基础BDC代码。最后展示了将录制的脚本改造为可批量处理文件数据的实用程序,核心改动包括定义数据结构、读取文

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 322

【剑指offer】面试题64 求1+2+3+...+n

题目要求 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 解题分析 求1+2…+n除了用公式n*(n+1)/2,无外乎循环和递归两种思路。但是循环不能使用,所以我们想办法用递归解决,但是递归也需要一个递归结束的条件,也需要判断但是没有条件,我们只能想到用短路特性来做。 短路特性 a&&b 如...

爱喝舒化奶的博客 425

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java详解剑指offer面试题64--求1+2+3+...+n

Java详解剑指offer面试题64–求1+2+3+…+n 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键词以及三元运算符等。 这道题没有多大意义… 方法1,递归 不过该做还是得做。循环不能用,很自然想到用递归。 package Chap6; public class Sum { public int Sum_Solution(int n) { if (n == 1) return 1; return

快乐李同学的博客 673

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

剑指offer:面试题64—求1+2+3+…+n

题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 解决: 1.需利用逻辑与的短路特性实现递归终止。 public int Sum_Solution(int n){ int sum=n; boolean flag=(n>0) &&am...

123木头人! 320

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

剑指Offer面试题64:求1+2+3+ ...+n

题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。也不得使用while、for、 if、 else 、switch 、case等关键字及条件判断语句(A? B:C) 解题思路: 解题代码: 1.利用&& 运算符的短路性质,递归求和。 &&就是逻辑与,逻辑与有个短路特点,前面为假,后面不计算 ...

freeygh的博客 400

【剑指offer】面试题 64. 求 1+2+3+...+n

面试题 64. 求 1+2+3+...+n 题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 1.采用&&解答 /* 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 */ #includ...

weixin_30636089的博客 234

剑指offer 面试题64:求1+2+3+...+n c++

题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 解析:多种方法(1)利用构造函数求解  (2)利用虚函数求解   (3)利用函数指针求解  (4)利用模板类型求解 这里可以通过递归的方式进行计算,但是很疑问的地方在于如何结束递归。这里可以有多种的方式,基本方向是采用逻辑与或的方式来计算,与的时...

别说话写代码的博客 948

剑指offer第二版(Python3)--面试题64 : 求1+2+3+...+n

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

鲁班七号 288

剑指offer_java实现-面试题64.求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

题目:求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路:巧用递归,用了短路,使递归结束。 // &&两侧的表达式结果必须为boolean型, // 所有&&右侧要用一个无关变量temp判断是否与result相等, // 让右侧的表达式返回boolean型。不管返回的是true还是false, // 我们的目的仅仅是让&&右侧的表达式执行。 // &&

wa2661391317的博客 244

剑指 Offer(第2版)面试题 64:求1+2+…+n

剑指 Offer(第2版)面试题 64:求1+2+…+n

ProgramNovice的博客 555

剑指offer面试题64(java版):求1+2+...+n

welcome to my blog 剑指offer面试题64(java版):求1+2+…+n 利用指数,加法,移位 注意移位操作只能用在整型数据类型上 public class Solution { public int Sum_Solution(int n) { return (n+(int)Math.pow(n,2))>>1; //只能对整型进行移位操...

littlehaes的博客 596

剑指Offer46--面试题64. 求1+2+…+n

剑指Offer46--面试题64. 求1+2+…+n题目描述&& 计算的特点俄罗斯农民乘法 题目描述 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 && 计算的特点 public class Solution { public int Sum_Solution(int n) { int sum = n; boolean a = n&

zhangyunpeng0922的博客 183

剑指offer系列-面试题64. 求1+2+…+n(python)

文章目录1. 题目2. 解题思路3. 代码实现3.14. 总结5. 参考文献 1. 题目 2. 解题思路 3. 代码实现 3.1 4. 总结 5. 参考文献 [1] 剑指offer丛书 [2] 剑指Offer——名企面试官精讲典型编程题

besmarterbestronger的博客 632

剑指Offer64-求1+2+...+n -medium

剑指 Offer64-求1+2+…+n试题链接 题目描述 求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 示例 1: 输入: n = 3 输出: 6 示例 2: 输入: n = 9 输出: 45 限制: 1 <= n <= 10000 解题思路: 首先想到的就是递归,但是如何判断递归的结束条件是关键,不能用if判断,就要考虑到&&的短路功能。 例如:A &&amp

Yang_1998的博客 213
上一篇: 剑指offer 面试题51 数组中的逆序对
下一篇: 剑指offer 面试题19 正则表达式匹配
wenkun97
博客等级 码龄10年 15粉丝 139原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值