图解算法数据结构-LeetBook-回溯01_机械累加器

请设计一个机械累加器,计算从 1、2… 一直累加到目标数值 target 的总和。注意这是一个只能进行加法操作的程序,不具备乘除、if-else、switch-case、for 循环、while 循环,及条件判断语句等高级功能。
注意:不能用等差数列求和公式(用了乘法),也不能用pow()函数(用乘法实现)

公式法

class Solution {
public:int mechanicalAccumulator(int target) {char a[target][target+1];return sizeof(a)>>1;}
};

在这里插入图片描述
在C++中,sizeof是一个运算符,用于获取数据类型或对象的大小(以字节为单位)。它可以返回以下三种类型的值:
类型:返回指定类型的字节大小。
对象:返回对象在内存中占用的字节大小。
数组:返回整个数组在内存中占用的字节大小。

#include <iostream>  int main() {  int a;  double b;  char str[] = "Hello, World!";  std::cout << "Size of int: " << sizeof(a) << " bytes\n";  std::cout << "Size of double: " << sizeof(b) << " bytes\n";  std::cout << "Size of char array: " << sizeof(str) << " bytes\n";  return 0;  
}

输出:

Size of int: 4 bytes  
Size of double: 8 bytes  
Size of char array: 13 bytes

需要注意的是,sizeof返回的是size_t类型,这是一种无符号整数类型,用于表示大小或索引。如果你需要将sizeof的结果转换为其他整数类型,可以使用类型转换操作符,例如(int)

由于等差数列求和公式是 ( a 1 + a n ) ∗ n / 2 (a_1 +a_n)* n / 2 (a1+an)n/2在本题中就是 ( 1 + n ) ∗ n / 2 (1 +n)* n / 2 (1+n)n/2
这里有两个问题,第一是乘法不用“*”怎么表示,第二是除法不用“/”怎么表示
这里的乘法的计算可以看作:计算一个元素大小为1字节的二维数组的总大小,而sizeof()刚好可以计算一个char类型或者bool类型数组的大小;用右移一位(>>1)表示除法

回溯

class Solution {
public:int mechanicalAccumulator(int target) {(target > 1) && (target += mechanicalAccumulator(target-1));return target;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/322136.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode算法系列| 11. 盛最多水的容器

目录 1.题目2.题解C# 解法一&#xff1a;暴力C# 解法二&#xff1a;双指针&#xff08;左指针大于右指针&#xff0c;left&#xff09;C# 解法三&#xff1a;双指针优化&#xff08;左指针小于等于最小高度&#xff0c;left&#xff09;Java 解法一&#xff1a;双指针Python3 解…

【力扣每日一题】力扣2478从链表中移除节点

题目来源 2478.从链表中移除节点 题目描述 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 示例1&#xff1a; 输入&#xff1a;head [5,2,13,3,8] 输出&#xff1a;[13,8] 解释&#xff1a;需要移除的节点是 5 …

基于ssm毕业设计选题系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本毕业设计选题系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

Xshell 上传文件到服务器

Liunx 上传文件 rz //回车&#xff0c;从本地选择文件上传 ll //查看文件 pwd //查看当前目录 mkdir filename //创建文件如果遇到错误信息“bash: rz: command not found” 安装 lrzsz sudo yum install lrzsz操作 mv //移动文件或目录 tar //解压文件vim //文本编辑器&am…

分布式系统架构设计之分布式事务的概述和面临的挑战

在当今大规模应用和服务的背景下&#xff0c;分布式系统的广泛应用已经成为了一种必然的主流趋势。然后&#xff0c;伴随着分布式系统的应用范围的增长&#xff0c;分布式事务处理成为了一个至关重要的关键话题。在传统的单体系统中&#xff0c;事务处理通常相对简单&#xff0…

C语言注意点(4)

1、void *a是什么意思 答&#xff1a;泛型指针&#xff0c;但不规定其类型(就是地址确定&#xff0c;但数据长度不确定)在动态分配内存时&#xff0c;malloc的返回值就是该类型&#xff0c;方便用户进行强制转换。 2、VS怎么一键规范格式 for(i0;i<10;i)enter后&#xff0c;…

【常用排序算法】快速排序

##快速排序 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高&#xff0c;因此经常被采用&#xff0c;再加上快速排序思想----分治法 先从数列中取出一个数作为基准数pivot。分区过程&#xff0c;将比这个数大的数全放到它的右边&#xff0c;小于或等于它的数全放…

Centos7静态网络配置

在vmware中打开&#xff0c; 点击虚拟网络编辑器&#xff0c;修改以下配置 网关IP最后一位固定为2&#xff0c;这个160根据下图中vmnet8的ip地址来的 打开网络控制面板>打开vmnet8查看 接着打开linux&#xff0c;有桌面版的使用桌面版更加方便 箭头这么乱&#xff0c;但是你…

python统计分析——直方图(df.hist)

使用dataframe.hist()或series.hist()函数绘制直方图 import numpy as np import pandas as pd from matplotlib import pyplot as plt.dfpd.DataFrame(data{type:[A,A,A,A,A,A,A,A,A,A,B,B,B,B,B,B,B,B,B,B],value:[2,3,3,4,4,4,4,5,5,6,5,6,6,7,7,7,7,8,8,9] }) serpd.Serie…

BUUCTF--hitcontraining_heapcreator1

老规矩上来看保护&#xff1a; 64位架构并且除了PIE全开。接着黑盒测试下场景&#xff1a; 菜单题不用想就是堆。接着我们我们看看IDA中的逻辑&#xff1a; 程序的主要逻辑是增删改查。我们看看创建堆的过程&#xff1a; 注释我已给出&#xff0c;步骤大概如下&#xff1a; 1.…

【DevOps-06】Jenkins实现CI/CD操作

一、简要说明 基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成 基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署 二、准备Springboot工程 1、IDEA新建工程 2、填写项目工程信息 3、选择Springboot版本…

123基于matlab的差分优化算法优化极限学习机,DE-ELM

基于matlab的差分优化算法优化极限学习机&#xff0c;DE-ELM。输出分类识别结果和准确率。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 123差分优化算法极限学习机 (xiaohongshu.com)