当前位置: 首页 > 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…...

java rabbitmq实现消息协作

场景&#xff1a;数据下载采用rpa实现&#xff0c;数据服务采用java springboot实现&#xff0c;需要进行一键数据补录操作1、设置消息承载的通信队列&#xff0c;java 发送任务到rabbitmq和rpa端收到消息&#xff08;neimeng_data_download&#xff09;后&#xff0c;将下载结…...

面向对象编程入门(下篇):继承、封装与多态

在上篇中&#xff0c;我们学会了如何定义类和创建对象&#xff0c;将现实世界的事物用代码表示。今天&#xff0c;我们将深入面向对象编程的三大核心特性&#xff1a;继承、封装和多态。这些特性将让你的代码更加灵活、可扩展和易维护。一、继承&#xff1a;代码复用的“家族传…...

零基础玩转CTFShow Web1-7:手把手教你用Burp Suite和蚁剑拿flag

零基础玩转CTFShow Web1-7&#xff1a;从工具配置到实战渗透全指南 第一次接触CTF比赛时&#xff0c;看着其他选手在终端里敲出神秘代码就能拿到flag&#xff0c;总觉得这是黑客才能掌握的"黑魔法"。直到自己动手尝试才发现&#xff0c;只要掌握正确的工具和方法&…...

如何高效访问优质内容?bypass-paywalls-chrome-clean工具全方位使用指南

如何高效访问优质内容&#xff1f;bypass-paywalls-chrome-clean工具全方位使用指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代&#xff0c;大量优质内容被…...

PyTorch 2.8镜像效果展示:使用OpenCV对VideoLDM输出做运动模糊增强处理

PyTorch 2.8镜像效果展示&#xff1a;使用OpenCV对VideoLDM输出做运动模糊增强处理 1. 效果展示概览 在视频生成领域&#xff0c;运动模糊效果是提升视频真实感的关键因素之一。本文将展示如何利用PyTorch 2.8镜像环境&#xff0c;结合OpenCV对VideoLDM生成的原始视频进行运动…...

告别拉伸变形!保姆级教程:为你的Unity Windows应用添加自定义窗口比例限制器

Unity Windows应用窗口比例锁定全攻略&#xff1a;从原理到避坑指南 你是否遇到过这样的尴尬场景——精心设计的UI在用户随意拉伸窗口后变得面目全非&#xff1f;作为Unity开发者&#xff0c;我们常常需要为Windows平台构建专业级应用&#xff0c;而窗口比例控制正是提升用户体…...

2026权威评测:盘点毕业论文AIGC免费降重神器

【CSDN 资深算法架构师 / NLP技术专栏 导读】 各位还在发际线边缘挣扎的应届生和硕博党们&#xff0c;到了2026年&#xff0c;如果你的电脑里还装着那种老掉牙的“同义词替换”降重软件&#xff0c;我劝你赶紧停手&#xff01; 最近CSDN社群里哀嚎一片&#xff1a;“知网查重过…...

Firefox用户福音:免破解!一键安装HackBar 2.1.3旧版本完整教程

Firefox用户福音&#xff1a;免破解&#xff01;一键安装HackBar 2.1.3旧版本完整教程 在安全测试领域&#xff0c;HackBar作为一款经典的渗透测试工具&#xff0c;长期受到开发者和安全研究人员的青睐。然而&#xff0c;随着版本的迭代更新&#xff0c;新版本开始引入许可证验…...

OpenClaw对接GLM-4.7-Flash:模型版本管理指南

OpenClaw对接GLM-4.7-Flash&#xff1a;模型版本管理指南 1. 为什么需要关注模型版本管理 上周我在调试一个自动化文档处理流程时&#xff0c;遇到了一个奇怪的现象&#xff1a;同样的OpenClaw脚本&#xff0c;前一天还能完美运行的文档摘要功能&#xff0c;第二天突然开始输…...

酷狗音乐API实战指南:解决音乐应用开发的三大核心痛点

酷狗音乐API实战指南&#xff1a;解决音乐应用开发的三大核心痛点 【免费下载链接】KuGouMusicApi 酷狗音乐 Node.js API service 项目地址: https://gitcode.com/gh_mirrors/ku/KuGouMusicApi 在构建现代音乐应用时&#xff0c;开发者常常面临歌词同步不精准、API接口分…...