leetcode 445. Add Two Numbers II(两数相加)

使用LogisticRegression和LightGBM模型对信贷违约进行预测----基于kaggle比赛数据 3.分离数值型变量与类别型变量,发现有些数值型变量因为输入不规范,比如数值中含有字符(28_,_10000_等)被划分为类别型变量 ,比如 'Age','Annual_Income','Num_of_Loan', 'Num_of_Delayed_Payment', 'Changed_Credit_Limit','Credit_Mix','Monthly_Balance', 'Outstanding_Debt' ,'Amount_invested_monthly'等。三、分箱,woe编码,计算IV值。 阅读详情

在这里插入图片描述

用链表代表2个数字,这2个数字相加的和用链表返回。
最高位在链表的head.

思路:

1.链表逆序

数字相加是从低位到高位的,然而链表中的数字是从高位指向低位。
所以涉及到链表的逆序。

逆序之后只需从head到tail把两个链表的数字相加,再用一个int表示进位。

链表的逆序:
最左边的数字逆序后应该是tail, 它的next指向null.
后面的数字每次都指向它的前一个数字。
所以用cur表示当前node, cur.next指向它前一个node,
然后cur移动到链表的下一节点,不停地把cur.next指向前一个node.

在把结果的数字一个一个地保存进结果的链表中时,
不断地把新数字指向前一个数字,就实现了从低位到高位保存的效果。

class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode newHead = null;
        int carry = 0;

        l1 = reverseList(l1);
        l2 = reverseList(l2);

        while(l1 != null || l2 != null || carry > 0) {
            int num1 = (l1 != null ? l1.val : 0);
            int num2 = (l2 != null ? l2.val : 0);

            int sum = num1 + num2 + carry;
            int num = sum % 10;
            carry = sum / 10;

            ListNode cur = new ListNode(num);
            cur.next = newHead;
            newHead = cur;

            l1 = (l1 != null ? l1.next : null);
            l2 = (l2 != null ? l2.next : null);
        }
        return newHead;
    }

    ListNode reverseList(ListNode head) {
        ListNode pre = null;
        ListNode cur = head;

        while(cur != null) {
            ListNode next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }
        return pre;
    }
}

在这里插入图片描述

2.Stack

如果不想用链表逆序,可以用Stack, 同样可以达到逆序的效果,但是速度不及上面的快。

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        Stack<Integer> st1 = new Stack<>();
        Stack<Integer> st2 = new Stack<>();
        ListNode res = null;
        int carry = 0;

        //相当于逆序链表
        while(l1 != null) {
            st1.push(l1.val);
            l1 = l1.next;
        }

        while(l2 != null) {
            st2.push(l2.val);
            l2 = l2.next;
        }

        while(!st1.empty() || !st2.empty() || carry > 0) {
            int num1 = st1.empty() ? 0 : st1.pop();
            int num2 = st2.empty() ? 0 : st2.pop();
            int sum = num1 + num2 + carry;
            int num = sum % 10;
            carry = sum / 10;

            ListNode cur = new ListNode(num);
            cur.next = res;
            res = cur;
        }

        return res;
    }
Fiddler everywhere的一些基础操作 网上能搜到的Fiddler everywhere使用教程太少,于是我整理了一些自己实操成功的内容,包括Fiddler everywhere的Mock测试、弱网测试等基础操作,后续还会持续更新。操作系统:macOS使用工具:Fiddler everywhere 5.10.0本文简单介绍了使用Fiddler everywhere进行的Mock测试和弱网测试,而Fiddler everywhere提供了更多的其他实用的功能,我会在后期进行一个持续的学习和更新。 阅读详情

相关推荐

ROS2前置基础教程 | 小鱼教你用CMake依赖查找流程

上面我们用g++、make、cmake三种方式来编译ros2的C++节点。用cmake虽然成功了,但是CMakeLists.txt的内容依然非常的臃肿,我们需要将其进一步的简化。将上面的CmakLists.txt改成下面的样子 接着继续生成和编译 是不是非常的神奇,为什么可以浓缩成那么短的几句指令呢?find_package查找路径对应的环境变量如下。 打开终端,输入指令: 结果 观察PATH变量,你会发现赫然在其中,中的路径如果以或结尾,则自动回退到上一级目录,接着检查这些目录下的 cmake找到这些目录

生活不止眼前的苟且 7159

LeetCode 445. 两数相加 II(Add Two Numbers II)

445. 两数相加 II 445. Add Two Numbers II 题目描述 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 LeetCode445. Add Two Num...

weixin_30535043的博客 121

共享单车数据分析与需求预测项目

除了自行车共享系统的有趣的实际应用之外,这些系统生成的数据特征使它们成为研究的有吸引力的对象。由于这些系统在交通、环境和健康问题中的重要作用,它们引起了极大的关注。Huber 回归器:一个对异常值具有鲁棒性的模型,CV 得分为 0.4660,表明它对此数据集可能不那么有效。代码中的内容cv_score就像您正在使用的机器学习模型的成绩单。它告诉您模型的表现如何。减少异常值的影响:它还可以减少异常值的影响,因为对数转换显着缩小了数据的范围。因此,cv_score平均分数表明您的模型的预测效果如何。

极光喵的博客 2944

leetcode 445. Add Two Numbers II 两数相加 II

该问题要求在链表表示的两个非负整数进行相加,并返回结果的链表。解法首先将两个链表转换为字符串,然后从字符串末尾开始逐位相加处理进位,最后将结果字符串反转并构建成链表返回。时间复杂度主要取决于两个链表的长度,为O(max(m,n));空间复杂度同样为O(max(m,n)),用于存储中间结果和最终链表。

邹九的个人博客 357

工业质检实战:如何用MVTec AD数据集训练你的第一个无监督异常检测模型

本文提供了一份基于MVTec AD数据集的工业质检实战指南,详细介绍了如何从零开始训练一个无监督异常检测模型。内容涵盖数据预处理、模型架构选型(如CAE、GAN与特征字典方法)、特征提取、损失函数设计以及关键的阈值确定与后处理流程,旨在帮助工程师快速掌握将AI技术落地于实际产线质检的核心步骤与调参经验。

weixin_29182481的博客 457

深入解析set_clock_groups:异步时钟约束的最佳实践与陷阱规避

本文深入解析了FPGA/芯片设计中set_clock_groups命令在异步时钟约束中的核心作用与最佳实践。文章对比了同步时钟、异步时钟与不重叠时钟的区别,强调了正确使用set_clock_groups避免时序分析陷阱的重要性,并提供了与set_false_path的优先级差异分析及实战规避方法,帮助设计者确保时序收敛与电路可靠性。

weixin_29232121的博客 372

【LeetCode】445. Add Two Numbers II 两数相加 II

两数相加,链表,求加法,题解,leetcode, 力扣,python, c++, java You are given two non-empty linked lists representing two ``non-negative`` integers. The most significant digit comes first and each of their nodes contain a single

负雪明烛 3683

EastWave应用案例:机箱屏蔽效能仿真

如何使用EastWave对机箱的电磁屏蔽效能进行仿真

2201_76034687的博客 1392

LeetCode 445. Add Two Numbers II (两数相加 II)

题目标签:Linked List   题目给了我们两个 数字的linked list,让我们把它们相加,返回一个新的linked list。   因为题目要求不能 reverse,可以把 两个list 的数字都 存入 两个stack。利用了stack的特性,就可以从后面把数字相加,具体看code。 Java Solution: Runtime: 6 ms, faster ...

weixin_30823001的博客 122

【Claude Code的Harness Engineering实现】:06-记忆系统(Memory)

记忆系统是Claude Code实现跨会话持久化和上下文保持的核心组件。它分为短期记忆(当前会话的对话历史)和长期记忆(跨会话保留的结构化信息),通过多层级的文件系统实现灵活的记忆管理。

rengang66的博客 240

皮肤病识别 - 使用DenseNet或EfficientNet模型在ISIC数据集上进行皮肤病识别任务

在本篇博客中,我们探讨了如何使用 DenseNet 和 EfficientNet 模型在 ISIC 数据集上进行皮肤病识别任务。我们加载了数据集,并进行了预处理。然后我们使用 Keras 构建了两个不同的模型,并训练和评估了它们。最后,我们使用训练好的模型对新的皮肤病图像进行了预测。

斌擎科技 1303

[Swift]LeetCode445. 两数相加 II | Add Two Numbers II

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/streng...

weixin_30583563的博客 159

cartographer如何使用2个反光柱子作为一个landmark

2个反光柱的摆放要求:靠着墙摆,因为我们只能从一侧看到2个反光柱,从两侧都看到至少需要3个反光柱来定位。 landmark检测原理:因为我们是从一侧看到2个反光柱,所以看到2个反光柱在一帧激光数据中会有顺序,有2种情形,如下图 这两种情形,我们发现 情形1: 这种情形2个反光柱子被检测到的激光角度小于180,我们认为大一些激光角度的是原点。 情形2: 这种情形2个反光柱子被检测到的激光角度大于180,我们认为小一些激光角度的是原点。 这样原点就固定下来,并是唯一的。2个反光柱构成的坐标系也就确定了。和激光坐

南北粉面馆 3827

【L​eetCode随手玩】445. Add Two Numbers II (两数相加 II) - 解题方式

目录/Table of Content445. Add Two Numbers II (两数相加 II)题目描述题目原文(英语)解题方式 445. Add Two Numbers II (两数相加 II) 大家好,我是一个喜欢研究算法、机械学习和生物计算的小青年,我的优快云博客是:一骑代码走天涯 如果您喜欢我的笔记,那么请点一下关注、点赞和收藏。如果內容有錯或者有改进的空间,也可以在评论让我知道。???? 题目描述 题目描述参考「力扣」中文题目 Add Two Numbers II (两数相加 II)

骑著代码,看世界百态 198

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

leetcode 两数相加c++_LeetCode #445 Add Two Numbers II 两数相加 II

442 Find All Duplicates in an Array 数组中重复的数据Description:You are given two non-empty linked lists representing two non-negative integers. The most significant digit comes first and each of their nodes ...

weixin_39849671的博客 124

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

(java)leetcode-445 Add Two Numbers II(两数相加 II)

栈的妙用

不思量 254

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Leetcode 445. 两数相加 II(Add Two Numbers II)

Leetcode 445. 两数相加 II 1 题目描述(Leetcode题目链接)   给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 输入: (7 -> 2 -> 4 ...

qq_39378221的博客 221

LeetCode445.Add Two Numbers II题解

1. 题目描述You are given two non-empty linked lists representing two non-negative integers. The most significant digit comes first and each of their nodes contain a single digit. Add the two numbers and r

SYSU_LBY的博客 335

LeetCode-Python-445. 两数相加 II

给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4) ...

Keep Coding 546

LeetCode第二题:两数相加(addTwoNumbers)的Python3实现。

题目描述:You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and ret...

FutureFrancis的博客 2381

LeetCode //C - 445. Add Two Numbers II

【代码】LeetCode //C - 445. Add Two Numbers II。

Made in Code 1897

Leetcode[2] Add Two Numbers and Leetcode[445] Add Two Numbers II

Leetcode[2] Add Two Numbers class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ ...

只为分享 252

Add Two Numbers II || LeetCode-445

Add Two Numbers II || LeetCode-445 Problem link:https://leetcode.com/problems/add-two-numbers-ii/#/description You are given two non-empty linked lists representing two non-negative integers

Be a learner Not a knower. 230

445. Add Two Numbers II**

445. Add Two Numbers II** https://leetcode.com/problems/add-two-numbers-ii/ 题目描述 You are given two non-empty linked lists representing two non-negative integers. The most significant digit comes first...

珍妮的选择的博客 345

445. Add Two Numbers II

题目445. Add Two Numbers II解题思路这道题有点麻烦……题目的意思是,举个栗子:L1:7 -> 2 -> 4 -> 3 L2: 5 -> 6 -> 4从后往前一一对应相加,还需要考虑进位,得到新链表:7 -> 8 -> 0 -> 7题目要求不准把链表反转。我第一个思路是分别计算出2个链表的和,把两个和相加得到的数不断去%10创建新链表。如果链表比较短这个方法是可以

weixin_40149887的博客 208

【LeetCode】445. 两数相加 II

题目链接:https://leetcode-cn.com/problems/add-two-numbers-ii/description/ 题目描述 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中...

fuqiuai的博客 1379
上一篇: leetcode 1218. Longest Arithmetic Subsequence of Given Difference(给定差值的最长算术子序列)
下一篇: leetcode 735. Asteroid Collision(小行星碰撞)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值