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

【每天40分钟,我们一起用50天刷完 (剑指Offer)】第四十七天 47/50

专注 效率 记忆
预习 笔记 复习 做题

欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)
 
文章字体风格:
红色文字表示:重难点★✔
蓝色文字表示:思路以及想法★✔
 
如果大家觉得有帮助的话,感谢大家帮忙
点赞!收藏!转发!

本博客带大家一起学习,我们不图快,只求稳扎稳打。
由于我高三是在家自学的,经验教训告诉我,学习一定要长期积累,并且复习,所以我推出此系列。
只求每天坚持40分钟,一周学5天,复习2天
也就是一周学10道题
50天后我们就可以学完76道题,相信50天后,我们一定可以有扎实的代码基础!我们每天就40分钟,和我一起坚持下去吧!
qq群:866984458

本题出自 acwing网站
这个系列是免费的
打卡即刻退回费用。

第四十七天【剑指Offer例题代码 系列】

    • 72. 求1+2+…+n【递归】
    • 73. 不用加减乘除做加法【二进制 加法】
        • int sum = num1 ^ num2;//不进位的加法
        • int carry = (num1 & num2)<<1;//进位
    • 74. 构建乘积数组

72. 求1+2+…+n【递归】

在这里插入图片描述

(递归) O(n)
最直接的想法就是用递归,sum(n) = n+sum(n-1),但是要注意终止条件,由于求的是1+2+…+n的和,所以需要在n=0的时候跳出递归,但是题目要求不能使用if,while等分支判断,可以考虑利用&&短路运算来终止判断。

时间复杂度分析:递归,复杂度为O(n)。

class Solution {
public:int getSum(int n) {int res = n;n > 0 && (res += getSum(n - 1));return res;}
};

73. 不用加减乘除做加法【二进制 加法】

int sum = num1 ^ num2;//不进位的加法

int carry = (num1 & num2)<<1;//进位

在这里插入图片描述

class Solution {
public:int add(int num1, int num2){while(num2!=0){int sum = num1 ^ num2;//不进位的加法int carry = (num1 & num2)<<1;//进位num1 = sum;num2 = carry;}return num1;}
};

74. 构建乘积数组

在这里插入图片描述
(动归) O(n)
用两个数组left和right,left[i]=A[0]A[1]…*A[i-1], left[i]=A[i-1]*left[i-1]; right[i] = A[i+1]A[i+2]…*A[n-1],则right[i]=A[i+1]*right[i+1]。

最后结果B[i]=left[i]*right[i]。

时间复杂度分析:需要遍历数组,复杂度为O(n)

class Solution {
public:vector<int> multiply(const vector<int>& A) {vector<int>left(A.size(),1);vector<int>right(A.size(),1);for(int i = 1;i<A.size();i++){left[i] = A[i-1]*left[i-1];}for(int i = A.size()-2;i>=0;i--){right[i] = A[i+1]*right[i+1];}vector<int>B(A.size(),0);for(int i = 0;i<A.size();i++){B[i] = left[i]*right[i];}return B;}
};

相关文章:

【每天40分钟,我们一起用50天刷完 (剑指Offer)】第四十七天 47/50

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…...

离散型制造业生产管理云MES系统解决方案

典型的离散制造业主要包括机械、电子、航空、汽车等行业&#xff0c;这些企业既有按订单生产&#xff0c;也有按库存生产&#xff0c;既有批量生产&#xff0c;也有单件小批生产。那么&#xff0c;注重生产计划的制定&#xff0c;生产的快速响应是离散行业MES系统应用的关键。 …...

【Vue】全家桶介绍

文章目录 概述核心Vue.Js浏览器开发插件vue-devtools项目构建工具&#xff1a;vue-cli路由管理器 &#xff1a; vue-Router状态管理模式&#xff1a;vuex网络请求库&#xff1a;AxiosUI框架&#xff1a; iview、vant、elementUI打包工具&#xff1a; webpack来源 概述 Vue全家…...

【雕爷学编程】MicroPython动手做(33)——物联网之天气预报2

天气&#xff08;自然现象&#xff09; 是指某一个地区距离地表较近的大气层在短时间内的具体状态。而天气现象则是指发生在大气中的各种自然现象&#xff0c;即某瞬时内大气中各种气象要素&#xff08;如气温、气压、湿度、风、云、雾、雨、闪、雪、霜、雷、雹、霾等&#xff…...

macOS 虚拟桌面黑屏(转)

转自&#xff1a;macOS重置虚拟桌面、macOS 虚拟桌面黑屏 有几次出现如图的情况&#xff0c;以为是iTerm的问题&#xff0c;但是在关闭软件&#xff0c;重启之后&#xff0c;依旧无效。 后面经过网友告知&#xff0c;才知道是虚拟桌面的问题。 为了清理这个问题&#xff0c;有以…...

查看gz文件 linux zcat file.gz mtx.gz

可以使用以下命令来查看 gz 压缩文件的内容&#xff1a; zcat file.gz 1 该命令会将 file.gz 文件解压并输出到标准输出&#xff0c;可以通过管道符将其与 grep 命令结合使用来查找需要的关键词&#xff0c;例如&#xff1a; zcat file.gz | grep keyword 1 该命令会将 file.gz…...

互联网——根服务器

说明 根服务器是互联网域名系统&#xff08;DNS&#xff09;中最高级别的服务器之一。它们负责管理整个DNS系统的顶级域名空间&#xff0c;例如.com、.org和.net等。 根服务器的主要功能是将用户的DNS查询转发到适当的顶级域名服务器。当用户在浏览器中输入一个域名&#xff…...

华为OD机试之报文回路(Java源码)

题目描述 IGMP 协议中响应报文和查询报文&#xff0c;是维系组播通路的两个重要报文&#xff0c;在一条已经建立的组播通路中两个相邻的 HOST 和 ROUTER&#xff0c;ROUTER 会给 HOST 发送查询报文&#xff0c;HOST 收到查询报文后给 ROUTER 回复一个响应报文&#xff0c;以维持…...

林大数据结构【2019】

关键字&#xff1a; 哈夫曼树权值最小、哈夫曼编码、邻接矩阵时间复杂度、二叉树后序遍历、二叉排序树最差时间复杂度、非连通无向图顶点数&#xff08;完全图&#xff09;、带双亲的孩子链表、平衡二叉树调整、AOE网关键路径 一、判断 二、单选 三、填空 四、应用题...

2023华数杯数学建模A题思路分析 - 隔热材料的结构优化控制研究

# 1 赛题 A 题 隔热材料的结构优化控制研究 新型隔热材料 A 具有优良的隔热特性&#xff0c;在航天、军工、石化、建筑、交通等 高科技领域中有着广泛的应用。 目前&#xff0c;由单根隔热材料 A 纤维编织成的织物&#xff0c;其热导率可以直接测出&#xff1b;但是 单根隔热…...

Linux常用命令——dos2unix命令

在线Linux命令查询工具 dos2unix 将DOS格式文本文件转换成Unix格式 补充说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的&#xff08;DOS/MAC to UNIX text file format converter&#xff09;。DOS下的文本文件是以\r\n作为断行标志的&#xff0c;表示成十六进…...

【NLP pytorch】基于BERT_TextCNN新闻文本分类实战(项目详解)

基于BERT_TextCNN新闻文本分类实战项目 1 数据集介绍2 模型介绍3 数据预处理3.1 数据集加载3.2 统计文本长度分布4 BERT模型4.1 HuggingFace介绍4.2 HuggingFace使用4.2.1 加载预训练模型4.2.2 预训练模型的使用4.3 BERT模型使用4.3.1 编码和解码4.3.2 批处理4.3.3 词向量处理5…...

决策树与随机森林

目录 决策树是&#xff1a;Why&#xff1a;How&#xff1a;基本概念决策树生成举例决策树缺点参考 Demo 随机森林1.是&#xff1a;2.Why&#xff1a;3.How&#xff1a;参考 Demo 决策树 是&#xff1a; 1.一种有监督的分类&#xff08;或预测&#xff09;算法。 2.利用属性、…...

Nginx 网站服务

Nginx 稳定性高 &#xff08;但是没有apache稳定) 版本号&#xff1a;1.12 1.20 1.22 系统资源消耗低 (处理http请求的并发能力很高&#xff0c;单台物理服务器可以处理30000-50000个并发请求) 稳定&#xff1a;一般在企业中&#xff0c;为了保持服务器稳定&#xff0c;并发量的…...

Python爬虫——爬虫时如何知道是否代理ip伪装成功?

前言 在进行爬虫时&#xff0c;我们可能需要使用代理IP来伪装自己的身份&#xff0c;以避免被网站封禁。如何判断代理IP是否伪装成功呢&#xff1f;本篇文章将围绕这个问题展开讲解&#xff0c;同时提供Python代码示例。 1. 确认代理IP地址 首先&#xff0c;我们需要确认代理…...

flink1.17 json_tuple udf 实现

使用效果 思路: flink1.17要求复杂类型必须通过hint指定每个字段类型, 只有固定个数,都是基础类型的flink才能自动推断. 这就导致json_tuple返回不定长参数无法搞定. 所以这里通过返回字符串数组来解决. 同时带来新的问题: 数组元素类型一样,导致fastjson2解析到的int也需要…...

Vue3实现6位验证码输入框,用户可以连续输入和删除

实现代码 可以随意填写删除 <template><div class"verification-container"><inputv-for"(code, index) in verificationCodes":key"index"v-model"verificationCodes[index]"input"handleInput(index, $event…...

如何在终端设置代理(设置jupyter notebook同理)

设置代理 在终端(我用的gitbash)下执行 set HTTP_PROXYhttp://<user>:<password><proxy server>:<proxy port> set HTTPS_PROXYhttp://<user>:<password><proxy server>:<proxy port>其中&#xff1a; user、password&#…...

git报错:Error merging: refusing to merge unrelated histories

碰对了情人&#xff0c;相思一辈子。 打命令&#xff1a;git pull origin master --allow-unrelated-histories 然后等一会 再push 切记不要有冲突的代码 需要改掉~...

QT-QLabel显示图片,按QLabel控件的大小自动缩放

要按照 QLabel 控件的大小调整并显示图片&#xff0c;你可以使用 scaled() 函数将 QPixmap 对象进行缩放&#xff0c;然后将缩放后的图片设置到 QLabel 上。下面是一个示例代码&#xff1a; #include <QApplication> #include <QLabel> #include <QPixmap>i…...

从海思Hi35xx到瑞芯微RV1126:手把手教你用RKMEDIA框架快速移植IPC应用(附RKNN推理集成避坑点)

从海思Hi35xx到瑞芯微RV1126&#xff1a;RKMEDIA框架迁移实战与RKNN集成指南 去年接手一个智能安防项目时&#xff0c;客户突然要求将原本基于海思Hi3516DV300的方案切换到瑞芯微RV1126平台。面对两周内完成算法迁移的"死亡线"&#xff0c;RKMEDIA框架的模块化设计成…...

LFM2.5-1.2B-Thinking-GGUF入门必看:32K上下文轻量文本生成实操

LFM2.5-1.2B-Thinking-GGUF入门必看&#xff1a;32K上下文轻量文本生成实操 1. 模型简介与核心优势 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型&#xff0c;专为低资源环境优化设计。这个1.2B参数的模型采用GGUF格式&#xff0c;配合llama.cpp运行时&…...

SEO_ 低成本高效进行SEO推广的实战策略

低成本高效进行SEO推广的实战策略 在当今数字化时代&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已经成为了每个企业网站流量获取的重要手段。SEO推广的成本往往让人望而却步。本文将为您揭示低成本高效进行SEO推广的实战策略&#xff0c;帮助您在有限的预算内最大化…...

【工业C# OPC UA开发实战指南】:20年资深工程师亲授从零搭建高可靠OPC UA客户端与服务器的7大关键步骤

第一章&#xff1a;OPC UA工业通信架构与C#开发全景概览OPC UA&#xff08;Open Platform Communications Unified Architecture&#xff09;是面向工业4.0的跨平台、安全、可扩展的机器对机器&#xff08;M2M&#xff09;通信标准&#xff0c;彻底取代了传统基于DCOM的OPC Cla…...

OpenClaw极客玩法:用Qwen2.5-VL-7B控制智能家居图文面板

OpenClaw极客玩法&#xff1a;用Qwen2.5-VL-7B控制智能家居图文面板 1. 为什么需要视觉化智能家居控制 去年装修新房时&#xff0c;我安装了某品牌智能家居系统。它的手机App控制界面设计得很"艺术"——各种圆形滑块、渐变色调光面板&#xff0c;看起来酷炫但用起来…...

微信聊天记录全掌控:PyWxDump本地化备份与深度管理指南

微信聊天记录全掌控&#xff1a;PyWxDump本地化备份与深度管理指南 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 在数字时代&#xff0c;微信聊天记录已成为个人和企业重要的信息资产。无论是商务沟通的关键凭证、项目协…...

四柱排盘免费软件怎么选?天府Agent好用吗

在数字化渗透到传统文化领域的今天&#xff0c;命理分析早已告别了手工排盘、纸笔记录的传统模式&#xff0c;各类专业排盘工具层出不穷&#xff0c;很多命理爱好者都在找好用的四柱排盘免费软件&#xff0c;今天就从实际使用体验出发&#xff0c;整理市面上常见工具的特点&…...

Music Tag Web:音乐元数据修复与管理的全栈解决方案

Music Tag Web&#xff1a;音乐元数据修复与管理的全栈解决方案 【免费下载链接】music-tag-web 音乐标签编辑器&#xff0c;可编辑本地音乐文件的元数据&#xff08;Editable local music file metadata.&#xff09; 项目地址: https://gitcode.com/gh_mirrors/mu/music-ta…...

Jellyfin豆瓣插件:5分钟打造中文影视库的完整教程

Jellyfin豆瓣插件&#xff1a;5分钟打造中文影视库的完整教程 【免费下载链接】jellyfin-plugin-douban Douban metadata provider for Jellyfin 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-douban 还在为Jellyfin媒体库缺少中文元数据而烦恼吗&…...

Janus-Pro-7B一键部署教程:3步搞定Ubuntu20.04环境配置

Janus-Pro-7B一键部署教程&#xff1a;3步搞定Ubuntu20.04环境配置 如果你是一个在Linux环境下折腾的开发者&#xff0c;看到Janus-Pro-7B这样的模型&#xff0c;第一反应肯定是“效果怎么样&#xff1f;”&#xff0c;第二反应多半是“部署起来麻烦吗&#xff1f;”。毕竟&am…...