【面试经典150 | 数学】加一

news2024/11/24 20:44:47

文章目录

  • 写在前面
  • Tag
  • 题目来源
  • 解题思路
    • 方法一:加一
  • 其他语言
    • python3
  • 写在最后

写在前面

本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更……

专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾与总结,文章结构大致如下,部分内容会有增删:

  • Tag:介绍本题牵涉到的知识点、数据结构;
  • 题目来源:贴上题目的链接,方便大家查找题目并完成练习;
  • 题目解读:复述题目(确保自己真的理解题目意思),并强调一些题目重点信息;
  • 解题思路:介绍一些解题思路,每种解题思路包括思路讲解、实现代码以及复杂度分析;
  • 知识回忆:针对今天介绍的题目中的重点内容、数据结构进行回顾总结。

Tag

【数学】


题目来源

66. 加一


解题思路

方法一:加一

我们从数组的末尾开始加一,更新对应位值的元素 digits[i] = (digits[i] + 1) % 10,如果某一位更新后,digits[i] 不为 0,说明以后也不会有进位了,直接返回 digits。如果遍历完数组 digits 都没有 retrun,那么说明我们一开始加的 1 造成了数组 digits 中的所有位都进位了,于是返回数组 res,该数组长度为 n+1n 为数组 digits 的长度),res[0] = 1

实现代码

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int n = digits.size();
        for (int i = n-1; i >= 0; --i) {
            digits[i] = (digits[i] + 1) % 10;
            if (digits[i] != 0) {
                return digits;
            }
        }
        vector<int> res(n+1);
        res[0] = 1;
        return res;
    }
};

复杂度分析

时间复杂度: O ( n ) O(n) O(n) n n n 为数组 digits 的长度。

空间复杂度: O ( 1 ) O(1) O(1)


其他语言

python3

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        n = len(digits)
        for i in range(n-1, -1, -1):
            digits[i] = (digits[i] + 1) % 10
            if digits[i] != 0:
                return digits
        res = [0] * (n + 1)
        res[0] = 1
        return res

写在最后

如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。

如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。

最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 👍 哦。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wu-ui-uniapp 多平台快速开发的UI框架

WU-UI 多平台快速开发的UI框架(无论平台&#xff0c;一致体验) 官方群 wu-ui官方1群: 767943089 说明 wu-ui(如虎添翼) 是 全面兼容多端的uniapp生态框架&#xff0c;基于vue2、vue3和nvue开发。丰富组件库&#xff0c;便捷工具库&#xff0c;简单高效。无论平台&#x…

电子眼与无人机在城市安防中的协同应用研究

随着城市化进程的快速推进&#xff0c;城市安全问题成为了人们关注的焦点。传统的安防手段已经无法满足现代城市复杂多变的安全需求。因此&#xff0c;结合电子眼与无人机技术&#xff0c;实现二者之间的协同应用&#xff0c;成为提升城市安防能力的重要途径。 一、电子眼与无人…

ArcGIS Pro 优化的热点分析【Optimized Hot Spot Analysis】

ArcGIS Pro 优化的热点分析【Optimized Hot Spot Analysis】Optimized Hot Spot Analysis 优化的热点分析https://mp.weixin.qq.com/s/lfoIls8exW5G6PPJ9gtDew em&#xff0c;先给大家推荐一个空间统计分析的学习资源网站 https://spatialstats-analysis-1.hub.arcgis.com/ .…

基于SSM的个人通讯录(有报告)。Javaee项目。

演示视频&#xff1a; 基于SSM的个人通讯录&#xff08;有报告&#xff09;。Javaee项目。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 项目介绍&#xff1a; 采用M&#xff08;mod…

全新小权云黑系统

小权云黑管理系统 V1.0 功能如下&#xff1a; 1.添加骗子&#xff0c;查询骗子 2.可添加团队后台方便审核用 3.在线反馈留言系统 4.前台提交骗子&#xff0c;后台需要审核才能过 5.后台使用光年UI界面 6.新增导航列表&#xff0c;可给网站添加导航友链 7.可添加云黑类型收录 8.…

【Linux专题】firewalld 过滤出接口流量

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读428次。风和日丽&#xff0c;小微给你送福利~如果你是小微的老粉&#xff0c;这里有一份粉丝福利待领取...如果你是新粉关注到了小微&am…

3分钟搞懂oled透明触摸显示屏

OLED透明触摸显示屏是一种先进的显示技术&#xff0c;它结合了OLED显示屏和触摸功能&#xff0c;具有透明度高、色彩鲜艳、触摸灵敏、节能环保等优点。下面用3分钟时间&#xff0c;为您讲解OLED透明触摸显示屏的基本原理、特点和优势。 OLED透明触摸显示屏的基本原理 OLED透明…

易点易动RFID管理系统:年终固定资产盘点的革命

随着现代企业规模的扩大和固定资产数量的增加&#xff0c;年终固定资产盘点成为了一项繁琐而耗时的任务。传统的手工盘点方法不仅效率低下&#xff0c;还容易出现错误和遗漏。为了解决这一难题&#xff0c;易点易动RFID管理系统应运而生。本文将重点介绍易点易动RFID管理系统在…

JMeter --- 生成HTML性能测试报告

一、生成HTML测试报告的两种方式 1、利用已有.jtl文件生成报告 上篇文章介绍过如何在linux环境运行jmeter并生成报告&#xff0c;如果已经有经过测试生成的.jtl文件&#xff0c;可以利用该文件直接生成HTML可视化测试报告。 进入jmeter的bin目录下&#xff0c;输入如下命令&…

鸿蒙应用开发初尝试《创建项目》,之前那篇hello world作废

经过几年的迅速发展&#xff0c;鸿蒙抛弃了JAVA写应用的方式&#xff0c;几年前了解的鸿蒙显然就gg了。 这几年鸿蒙发布了方舟&#xff08;ArkUI Arkts&#xff09;&#xff0c;将TypeScript作为了推荐开发语言&#xff0c;你依然可以用FAJS,但华为推荐用StageArkTs!!!那么你还…

Appium移动自动化测试--安装Appium

Appium 自动化测试是很早之前就想学习和研究的技术了&#xff0c;可是一直抽不出一块完整的时间来做这件事儿。现在终于有了。 反观各种互联网的招聘移动测试成了主流&#xff0c;如果再不去学习移动自动化测试技术将会被淘汰。 web自动化测试的路线是这样的&#xff1a;编程语…

虚拟机配置网络ip,主打一个详细

文章目录 一、前言二、安装vim编辑器三、检查联网状态1. 使用ping命令 四、查看ip五、ens33网卡六、开机启动ens33网卡七、获取子网地址和子网掩码八、配置网关与子网掩码1. 编辑虚拟网络信息2. 配置网关3. 配置ens33网卡信息 九、动态ip配置十、静态ip配置 一、前言 本文主要…

高精度电压源是什么意思

高精度电压源是一种能够产生稳定、准确和可调节的电压输出的设备。在各种电子应用中&#xff0c;高精度电压源被广泛应用于模拟信号处理、测试和测量领域。本文将介绍高精度电压源的基本原理、特点和应用场景。 高精度电压源的基本原理是利用电平转换和放大电路&#xff0c;将输…

二次元商业计划书PPT模版

二次元商业计划书PPT模版 共&#xff1a;9页 PPT模版&#xff1a; 百度网盘 请输入提取码&#xff1a;ax48

工业数据采集分析 数据跨层次、跨环节、跨系统大整合

在“工业4.0”、“智能制造”、“工业互联网”的大背景下&#xff0c;数据采集早就成为一个广泛关注的热点话题&#xff0c;不论智能制造发展到何种程度&#xff0c;数据采集都是生产过程中应用非常频繁的需求&#xff0c;也是工业物联网不可或缺的一环。 利用工业数据采集系统…

利用邮件营销提升电商营业额的策略与方法

随着电子商务的迅速发展&#xff0c;各种推广和营销手段层出不穷&#xff0c;但在这个信息泛滥的时代&#xff0c;如何有效地吸引用户关注并提升电商的营业额成为了每一个电商人关注的焦点。而邮件营销正是一个被广泛应用且具有潜力的推广方式。通过合理规划和执行邮件营销策略…

虚拟机winserver2019安装搭建

1.创建虚拟机 2.选择自定义&#xff0c;点击下一步 选择workstation 16.2x&#xff0c;点击下一步 选择稍后安装操作系统&#xff0c;点击下一步 选择winserver2019,点击下一步 选择安装目录&#xff0c;点击下一步 固定类型选择UEFI&#xff08;E&#xff09;&#xff0c;点击…

智慧工地解决方案,实现安全预警、机械智能监控、作业指导、绿色施工、劳务管理、工程进度监控、施工质量检查

智慧工地云平台全套源码 智慧工地平台采用先进的云计算、物联网和大数据技术&#xff0c;可以实现智慧工地方案的落地。能够实现实时掌控工地活动及各项进度&#xff0c;有效预防违章施工。能够为工地提供多项服务&#xff0c;如安全预警、机械智能监控、作业指导、绿色施工、劳…

JavaScript编程基础 – 函数进阶

JavaScript编程基础 – 函数进阶 JavaScript Programming Essentials – Perfect Functions “函数的第一条原则是要小&#xff0c;函数的第二条原则是要更小。“ – 罗伯特.C.马丁 前文讲述过函数多取决于数学的函数概念&#xff0c;以此来定义JavaScript编程语言的函数&…

k8s ingress高级用法一

前面的文章中&#xff0c;我们讲述了ingress的基础应用&#xff0c;接下来继续讲解ingress的一些高级用法 一、ingress限流 在实际的生产环境中&#xff0c;有时间我们需要对服务进行限流&#xff0c;避免单位时间内访问次数过多&#xff0c;常用的一些限流的参数如下&#x…