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

《漫画算法》笔记——计算两个大数的和

例题:
输入:“123”,“234”
输出:“357”

  • 思路:
    使用数组,分别计算每一位上的加和,注意记录进位信息。
    然后,将数组恢复成字符串,输出。
    值得注意的是,加和之后的数组的“后端”可能会有一些不必要的‘0’,比如:表示加和结果为’0002334’的数组为[4,3,3,2,0,0,0],我们需要考虑如何屏蔽掉这些‘0’,不让它出现在最终结果。下面的代码使用了一个布尔型变量来完成“屏蔽”工作。
  • 代码
 public static void main(String[] args) {String bigA="1230000000";String bigB="9780000000";System.out.println(bigNumberSum2(bigA,bigB));}public static String bigNumberSum2(String s1,String s2){int maxLen=s1.length()>s2.length()?s1.length():s2.length();int[] res=new int[maxLen+1];int[] arr1=new int[maxLen];for (int i = s1.length()-1; i >=0 ; i--) {arr1[s1.length()-1-i]=s1.charAt(i)-'0';}int[] arr2=new int[maxLen];for (int i = s2.length()-1; i >=0 ; i--) {arr2[s2.length()-1-i]=s2.charAt(i)-'0';}int plus=0;int temp=0;for (int i = 0; i < maxLen; i++) {temp=arr1[i]+arr2[i]+plus;res[i]=temp%10;plus=temp/10;}res[maxLen]=plus;StringBuilder builder=new StringBuilder();boolean firstNonzero=false;// !!是否遇到第一个非零位,初始化为“还未遇到”for (int i = res.length-1; i >=0 ; i--) {if(!firstNonzero){if(res[i]==0){continue;}firstNonzero=true; // 遇到了第一个非零位!!}builder.append(res[i]);}return builder.toString();}

相关文章:

《漫画算法》笔记——计算两个大数的和

例题&#xff1a; 输入&#xff1a;“123”&#xff0c;“234” 输出&#xff1a;“357” 思路&#xff1a; 使用数组&#xff0c;分别计算每一位上的加和&#xff0c;注意记录进位信息。 然后&#xff0c;将数组恢复成字符串&#xff0c;输出。 值得注意的是&#xff0c;加和…...

Python3.13版本改进规划

大家好&#xff0c;最近faster-cpython 项目的文档介绍了关于 Python 3.13 的规划&#xff0c;以及在 3.13 版本中将要实现的一些优化和改进。faster-python 是 Python 的创始人 Guido van Rossum 和他的团队提出的计划 &#xff0c;目标是在四年内将 CPython 的性能提升五倍。…...

aws配置以及下载 spaceNet6 数据集

一&#xff1a;注册亚马逊账号 注册的时候&#xff0c;唯一需要注意的是信用卡绑定&#xff0c;这个可以去淘宝买&#xff0c;搜索aws匿名卡。 注册完记得点击登录&#xff0c;记录一下自己的账户ID哦&#xff01; 二&#xff1a;登录自己的aws账号 2.1 首先创建一个用户 首…...

进阶之路:高级Spring整合技术解析

Spring整合 1.1 Spring整合Mybatis思路分析1.1.1 环境准备步骤1:准备数据库表步骤2:创建项目导入jar包步骤3:根据表创建模型类步骤4:创建Dao接口步骤5:创建Service接口和实现类步骤6:添加jdbc.properties文件步骤7:添加Mybatis核心配置文件步骤8:编写应用程序步骤9:运行程序 1.…...

【ArcGIS微课1000例】0081:ArcGIS指北针乱码解决方案

问题描述&#xff1a; ArcGIS软件在作图模式下插入指北针&#xff0c;出现指北针乱码&#xff0c;如下图所示&#xff1a; 问题解决 下载并安装字体&#xff08;配套实验数据包0081.rar中获取&#xff09;即可解决该问题。 正常的指北针选择器&#xff1a; 专栏介绍&#xff…...

uniapp运行到手机模拟器

第一步&#xff0c;下载MUMU模拟器 下载地址&#xff1a;MuMu模拟器官网_安卓12模拟器_网易手游模拟器 (163.com) 第二步&#xff0c;运行mumu模拟器 第三步&#xff0c;运行mumu多开器 第三步&#xff0c;查看abs 端口 第四步&#xff0c;打开HBuilder,如下图&#xff0c;将…...

基于PHP的蛋糕购物商城系统

有需要请加文章底部Q哦 可远程调试 基于PHP的蛋糕购物商城系统 一 介绍 此蛋糕购物商城基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈&#xff1a;phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销…...

嵌入式中的定时器概念

定时器概述 定时器是嵌入式系统中常用的一种外设,它可以产生一定的时间间隔、延时、定时等功能,广泛应用于定时、计数、脉冲宽度调制(PWM)等领域。 具体而言,定时器可以实现以下功能: 计时:定时器可以用来实现延时操作,例如等待外部设备的稳定、等待数据的接收等,也可以…...

鸿蒙ArkTS语言介绍与TS基础语法

1、ArkTS介绍 ArkTS是HarmonyOS主力应用开发语言&#xff0c;它在TS基础上&#xff0c;匹配ArkUI框架&#xff0c;扩展了声明式UI、状态管理等响应的能力&#xff0c;让开发者以更简洁、更自然的方式开发跨端应用。 JS 是一种属于网络的高级脚本语言&#xff0c;已经被广泛用…...

08_CMDB系统开发二

CMDB系统开发二 一、用户组管理模块 1、展示用户组列表 Django自带了用户表&#xff0c;同时也带了用户组表。他们是多对多关系。用户组模型很简单&#xff0c;和User模型是多对多的关系。用户组顾名思义&#xff0c;就是对用户进行了分组。其作用在权限控制中就是可以批量的…...

JavaOOP篇----第九篇

系列文章目录 文章目录 系列文章目录前言一、java中是值传递引用传递?二、实例化数组后,能不能改变数组长度呢?三、假设数组内有5个元素,如果对数组进行反序,该如何做?四、形参与实参区别前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一…...

华为OD机试 - 区间交集 - 深度优先搜索dfs算法(滥用)(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述备注用例1、输入2、输出3、说明 四、解题思路1、核心思路&#xff1a;2、具体步骤 五、Java算法源码再重新读一遍题目&#xff0c;看看能否优化一下~解题步骤也简化了很多。 六、效果展示1、输入2、输出3、说明 华为OD机试 2…...

德人合科技 | 防止公司电脑文件数据资料外泄,自动智能透明加密保护系统

【透明加密软件】——防止公司电脑文件数据资料防止外泄&#xff0c;自动智能透明加密保护内部核心文件、文档、图纸、源代码、音视频等资料&#xff01; PC端访问地址&#xff1a; www.drhchina.com &#x1f31f; 核心功能&#xff1a; 透明加密&#xff1a;采用高级加密算…...

常见加解密算法分析(含使用场景)

加密算法主要分为三类&#xff1a;对称加密算法、非对称加密算法和散列算法。下面将分别介绍这些类别中的常见算法及其特点和使用场景。 对称加密算法 1. AES (Advanced Encryption Standard) 简介&#xff1a; AES是一种广泛使用的对称加密标准&#xff0c;可以使用128、19…...

Oracle基本的SQL语句

1.最基本的增删改查 1.1.新增 insert 1.1.1.单表新增 INSERT INTO table_count_output (data_date,table_name,table_count ) VALUES (2023-03-15,FMCUSLVL,351 );COMMIT; 1.1.2.关联新增 INSERT INTO table_count_output (data_date,table_name,table_count )SELECTdata_…...

golang项目目录推荐

序言 逛GitHub的时候发现有个4.5k对goalng项目结构的推荐的项目&#xff0c;这里就简单的推荐下 文件目录 /cmd 项目主要的应用程序。 对于每个应用程序来说这个目录的名字应该和项目可执行文件的名字相匹&#xff08;例如&#xff0c;/cmd/myapp&#xff09;。不要在这个…...

Maven scope属性解读和使用注意事项

目录 compile runtime test system provided import dependencyManagement标签介绍 maven的scope有哪些&#xff1a; maven的scope一共包括&#xff1a;compile、runtime、test、system、provided、import。 compile <dependency><groupId>org.apache.htt…...

Vue3使用 xx UI解决布局高度自适应

解决方案 在相应的Sider部分添加&#xff1a;height: ‘91.8vh’&#xff0c;即可。示例&#xff1a; <Layout><Sider hide-trigger :style"{background: #fff, height: 91.8vh}"> }知识补充 vw、vh、vmin、vmax是一种视窗单位&#xff0c;也是相对单…...

九牧:科技卫浴,长期主义

“没有做错什么&#xff0c;但却输给了时代”&#xff0c;这是人们给当年手机巨头诺基亚的注解。 谁也没有想到&#xff0c;曾在手机行业称雄的诺基亚&#xff0c;最终败给了时代。当年&#xff0c;在2G向3G、4G跨越的时候&#xff0c;苹果、微软的iOS和安卓系统将手机从简单的…...

中级软件设计师-note-2

一个逆向思维的例子是 “当遇到一个问题时&#xff0c;通常人们会想办法解决这个问题。但逆向思维是指反过来考虑&#xff0c;即想办法制造更多的问题。 举个例子&#xff0c;假设有一个团队正在开发一款新的智能手机。传统的思维方式可能是专注于如何增加手机的功能&#xf…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

JS红宝书笔记 - 3.3 变量

要定义变量&#xff0c;可以使用var操作符&#xff0c;后跟变量名 ES实现变量初始化&#xff0c;因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符&#xff0c;可以创建一个全局变量 如果需要定义…...

计算机系统结构复习-名词解释2

1.定向&#xff1a;在某条指令产生计算结果之前&#xff0c;其他指令并不真正立即需要该计算结果&#xff0c;如果能够将该计算结果从其产生的地方直接送到其他指令中需要它的地方&#xff0c;那么就可以避免停顿。 2.多级存储层次&#xff1a;由若干个采用不同实现技术的存储…...

【Qt】控件 QWidget

控件 QWidget 一. 控件概述二. QWidget 的核心属性可用状态&#xff1a;enabled几何&#xff1a;geometrywindows frame 窗口框架的影响 窗口标题&#xff1a;windowTitle窗口图标&#xff1a;windowIconqrc 机制 窗口不透明度&#xff1a;windowOpacity光标&#xff1a;cursor…...