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

剑指offer(C++)-JZ64:求1+2+3+...+n(算法-位运算)

作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

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

数据范围: 0<n≤200
进阶: 空间复杂度 O(1) ,时间复杂度O(n)

示例:

输入:

5

返回值:

15

解题思路:

本题考察位运算。两种解题思路。题目虽然是简单的求和,但因为加了许多限制条件,所以有点意思。

1)位运算递归

       利用递归,完成1到n的求和,结合与运算特性,当n为0时,&&右侧不执行,变相对递归进行了终止。

2)求和公式

       Sn=(n+1)*n/2,变形为(n*n+n)>>1,n*n用pow函数实现,规避了乘法限制,除以2用右移实现,规避了除法限制。

测试代码:

1)位运算递归

class Solution {
public:int Sum_Solution(int n) {// 与运算判断n是否为正数,若n为0,则与运算后续不执行n && (n += Sum_Solution(n - 1));return n;}
};

2)求和公式

class Solution {
public:int Sum_Solution(int n) {// Sn=(n*n+n)/2int result = (int(pow(n, 2)) + n) >> 1;return result;}
};

相关文章:

剑指offer(C++)-JZ64:求1+2+3+...+n(算法-位运算)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 求123...n&#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句&…...

“深入探究JVM内部机制:如何实现Java程序的运行环境?“

标题&#xff1a;深入探究JVM内部机制&#xff1a;如何实现Java程序的运行环境&#xff1f; 摘要&#xff1a;本文将深入探究Java虚拟机&#xff08;JVM&#xff09;的内部机制&#xff0c;重点讨论JVM如何实现Java程序的运行环境。我们将从JVM的结构、类加载、内存管理、垃圾…...

Mac更新homebrew时卡住的解决办法

Mac更新homebrew时卡住的解决办法 引起问题的原因brew命令安装软件跟这3个仓库地址有关1、brew2、homebrew-core3、homebrew-bottles4、若/bin/zsh&#xff0c;则输入5、若/bin/bash&#xff0c;则输入6、更新brew 引起问题的原因 知其然&#xff0c;还要知其所以然。brew的更…...

带你了解—在外远程群晖NAS-群晖Drive挂载电脑磁盘同步备份【无需公网IP】

文章目录 前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用 2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用 3. 结语 前言 群晖作为专业的数据存储中心&…...

计算机网络第2章(物理层)

计算机网络第2章&#xff08;物理层&#xff09; 2.1 物理层的基本概念2.2 物理层下面的传输媒体2.2.1 导引型传输媒体2.2.2 非导引型传输媒体 2.3 传输方式2.3.1 串行传输和并行传输2.3.2 同步传输和异步传输2.3.3 单向通信&#xff08;单工&#xff09;、双向交替通信&#x…...

windows钩子保护自身进程不被破坏

代码来自于《windows核心编程》作者&#xff1a; APIHOOK.h头文件&#xff1a; #pragma once #include <Windows.h> class CAPIHOOK { public: CAPIHOOK(LPTSTR lpszModName, LPSTR pszFuncName, PROC pfnHook, BOOL bExcludeAPIHookMod TRUE); ~CAPIHOOK(void); p…...

Linux系统查看文件系统类型C代码

系统&#xff1a;VM Ubuntu 实现Linux系统下通过输入指定路径查看文件系统类型,MSDOS_SUPER_MAGIC&#xff0c;NTFS_SUPER_MAGIC和EXT4_SUPER_MAGIC这些宏定义并不是在sys/mount.h中定义的&#xff0c;它们实际上是在linux/magic.h头文件中定义的。不同系统下宏定义可能不一样&…...

Python中的正则表达式

大家好&#xff0c;今天我们将通过详细的解释和代码示例&#xff0c;探讨如何在Python中使用正则表达式。 介绍 正则表达式&#xff08;regex&#xff09;是一种用于操作文本和数据的强大工具&#xff0c;它们提供了一种简洁灵活的方式来“匹配”&#xff08;指定和识别&…...

第六章,创作文章

6.1添加创作页面 <template><div class="blog-container"><div class="blog-pages"><div class="col-md-12 panel"><div class="panel-body"><h2 class="text-center">创作文章&l…...

Win10c盘满了怎么清理?快速清理,5个方法!

“快救救孩子吧&#xff01;我的电脑是win10系统的&#xff0c;现在c盘满了&#xff0c;根本没法继续使用电脑了。怎么才能快速的释放内存呢&#xff1f;非常着急&#xff01;感谢大家&#xff01;” C盘是Windows系统中重要的分区&#xff0c;当其存储空间满了&#xff0c;可能…...

回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现GWO-BP灰狼算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍程序…...

docker 06(docker compose)

一、服务编排 二、docker compose...

非阻塞重试与 Spring Kafka 的集成测试

如何为启用重试和死信发布的消费者的 Spring Kafka 实现编写集成测试。 Kafka 非阻塞重试 Kafka 中的非阻塞重试是通过为主主题配置重试主题来完成的。如果需要&#xff0c;还可以配置其他死信主题。如果所有重试均已用尽&#xff0c;事件将转发至 DLT。公共领域提供了大量资…...

基于 Debian 12 的MX Linux 23 正式发布!

导读MX Linux 是基于 Debian 稳定分支的面向桌面的 Linux 发行&#xff0c;它是 antiX 及早先的 MEPIS Linux 社区合作的产物。它采用 Xfce 作为默认桌面环境&#xff0c;是一份中量级操作系统&#xff0c;并被设计为优雅而高效的桌面与如下特性的结合&#xff1a;配置简单、高…...

Nginx代理功能与负载均衡详解

序言 Nginx的代理功能与负载均衡功能是最常被用到的&#xff0c;关于nginx的基本语法常识与配置已在上篇文章中有说明&#xff0c;这篇就开门见山&#xff0c;先描述一些关于代理功能的配置&#xff0c;再说明负载均衡详细。 Nginx代理服务的配置说明 1、上一篇中我们在http…...

部署问题集合(特辑)虚拟机常用命令

基础 查看ip&#xff1a;ip addr或ipconfig压缩&#xff1a;tar -zcvf redis-3.2.8.tar.gz redis-3.2.8/ 注意&#xff1a;-zcvf对应gz&#xff0c;-vcf对应tar 解压&#xff1a;tar -zxvf redis-3.2.8.tar.gz压缩zip&#xff1a;zip nginx.zip nginx.txt nginx2.txt解压zip&a…...

【Git】如何将本地文件进行Git仓库归档

Git 全局设置 git config --global user.name "mcihael" git config --global user.email "michael520.com"创建新版本库 git clone gitcode.xxxxxx.git cd branch-name touch README.md git add README.md git commit -m "add README" git pu…...

uniapp 使用腾讯视频 的 坑

1. 版本号的问题 注意 1.X.X不维护了 &#xff0c; 需要升级要 2.X.X 2. 官网的 组件事件 调用需要去掉bind 才能调用 官网地址&#xff1a;腾讯视频 | 小程序插件 | 微信公众平台...

LinkedList

LinkedList的模拟实现&#xff08;底层是一个双向链表&#xff09;LinkedList使用 LinkedList的模拟实现&#xff08;底层是一个双向链表&#xff09; 无头双向链表&#xff1a;有两个指针&#xff1b;一个指向前一个节点的地址&#xff1b;一个指向后一个节点的地址。 节点定…...

创作新纪元:知乎、阅文加码AI大模型,撬动创作者经济

输入几个关键词就能生成一篇文章、一篇新闻、一篇小说&#xff0c;ChatGPT自诞生以来文本生成能力一直备受赞誉&#xff0c;ChatGPT要替代记者、编辑、作家的言论愈演愈烈&#xff0c;甚至有一些互联网企业宣布砍掉记者、编辑、文案等岗位全面拥抱AIGC。 目前ChatGPT是否会全面…...

MMSegmentation项目交付必备:如何生成让客户/导师眼前一亮的可视化报告(附完整脚本)

MMSegmentation项目交付必备&#xff1a;如何生成让客户/导师眼前一亮的可视化报告&#xff08;附完整脚本&#xff09; 在计算机视觉项目的最终交付环节&#xff0c;一份专业、直观的可视化报告往往比堆砌技术参数更能打动客户或导师。MMSegmentation作为开源图像分割领域的标…...

AI核心概念串联

目录一、Tokenizer二、LLM三、Context四、RAG五、Prompt六、Tool七、MCP八、Agent九、Skill原UP主视频&#xff1a;从 LLM 到 Agent Skill&#xff0c;一期视频带你打通底层逻辑&#xff01; 一、Tokenizer 用户每次输入都是一串连续的句子&#xff0c;而LLM的最小单位是toke…...

拓扑优化避坑指南:SIMP算法在MATLAB里跑不收敛?可能是这5个参数没调对

SIMP算法参数调优实战&#xff1a;解决拓扑优化中的收敛难题 当你第一次在MATLAB中运行SIMP算法时&#xff0c;那种期待与兴奋可能很快就被现实击碎——迭代曲线像过山车一样上下波动&#xff0c;最终结构布满棋盘格&#xff0c;边界模糊不清。这不是算法本身的问题&#xff0c…...

三步修复Windows安全防护:零基础系统工具恢复指南

三步修复Windows安全防护&#xff1a;零基础系统工具恢复指南 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mirrors/wi/wind…...

GNSS数据处理效率翻倍:FileZilla+crx2rnx自动化脚本一键下载转换RINEX观测值

GNSS数据处理效率革命&#xff1a;构建全自动RINEX观测值处理流水线 凌晨三点的实验室里&#xff0c;李工程师盯着屏幕上堆积如山的.crx文件叹了口气——这已经是本周第三次通宵处理GNSS观测数据了。对于需要处理多站点、长时间序列GNSS数据的科研人员和工程师而言&#xff0c;…...

从零构建一个轻量级WebSocket服务器:基于libwebsockets的实战与事件循环剖析

从零构建一个轻量级WebSocket服务器&#xff1a;基于libwebsockets的实战与事件循环剖析 在当今实时应用盛行的时代&#xff0c;WebSocket技术已成为构建即时通讯、实时数据推送等功能的基石。不同于传统的HTTP请求-响应模式&#xff0c;WebSocket提供了全双工通信能力&#xf…...

Windows 10 实战:基于 FFmpeg + Nginx 构建 RTSP 转 RTMP/HLS 流媒体网关

1. 为什么需要RTSP转RTMP/HLS网关 最近接手了一个监控项目&#xff0c;甲方要求将内网摄像头的实时画面通过网页展示给外网用户。刚开始觉得挺简单&#xff0c;直到发现摄像头输出的是RTSP协议——这玩意儿在浏览器里根本没法直接播放&#xff01;相信不少做过视频监控开发的同…...

Elasticsearch-03-kNN算法

Elasticsearch-03-kNN算法详解 概述 Elasticsearch提供了强大的k近邻&#xff08;k-Nearest Neighbors, kNN&#xff09;搜索功能&#xff0c;支持两种实现方式&#xff1a;暴力搜索和近似搜索。本文档将详细介绍这两种kNN算法的原理、优缺点和适用场景。 1. 暴力搜索&#xff…...

16-bit像素艺术AI终端效果展示:实时HUD状态栏+物理位移反馈动效演示

16-bit像素艺术AI终端效果展示&#xff1a;实时HUD状态栏物理位移反馈动效演示 1. 像素幻梦创意工坊概览 Pixel Dream Workshop&#xff08;像素幻梦创意工坊&#xff09;是一款革命性的像素艺术生成工具&#xff0c;基于先进的FLUX.1-dev扩散模型构建。与传统AI绘图工具不同…...

OmenSuperHub:惠普游戏本性能控制终极指南 - 开源替代方案全面解析

OmenSuperHub&#xff1a;惠普游戏本性能控制终极指南 - 开源替代方案全面解析 【免费下载链接】OmenSuperHub 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为惠普Omen Gaming Hub的臃肿体积和隐私担忧而烦恼吗&#xff1f;OmenSuperHub为你提供了一…...