2019-03-21-算法-进化(合并两个有序链表)

题目描述
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

思路1:双指针法

/*** 合并两个有序链表(默认为升序)* 双指针法* @param l1* @param l2* @return*/public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if(l1 == null) {return l2;}if(l2 == null) {return l1;}ListNode head = new ListNode(-1);ListNode index = head;while(l1!=null && l2!=null) {if(l1.val>l2.val) {index.next = l2;l2=l2.next;}else {index.next = l1;l1 = l1.next;}index = index.next;}if(l1!=null) {while (l1!=null) {index.next = l1;l1 = l1.next;index = index.next;}}if(l2!=null) {while (l2!=null) {index.next = l2;l2 = l2.next;index = index.next;}}return head.next;}

思路1代码优化版(代码短了,耗时反而增加了,应该是if else的判断多了导致的)

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if(l1 == null) {return l2;}if(l2 == null) {return l1;}ListNode head = new ListNode(-1);ListNode index = head;while(l1!=null || l2!=null) {if(l1 !=null && l2!=null) {if(l1.val>l2.val) {index.next = l2;l2=l2.next;}else {index.next = l1;l1 = l1.next;}}else if (l1 != null && l2==null) {index.next = l1;l1 = l1.next;}else if (l1 == null && l2!=null) {index.next = l2;l2=l2.next;}index = index.next;}return head.next;}

思路1优化版,优化了时间

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if(l1 == null) {return l2;}if(l2 == null) {return l1;}ListNode head = new ListNode(-1);ListNode index = head;while(l1!=null && l2!=null) {if(l1.val>l2.val) {index.next = l2;l2=l2.next;}else {index.next = l1;l1 = l1.next;}index = index.next;}//任一为空,直接链接另一个链表if(l1!=null) {index.next=l1;}else {index.next=l2;}return head.next;}

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

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

相关文章

多项式对数函数ln f(x)

多项式对数函数ln⁡f(x)\ln f(x)lnf(x) 如果存在解必然有[x0]f(x)1[ x ^ 0]f(x) 1[x0]f(x)1, 对ln⁡f(x)\ln f(x)lnf(x)求导,有dln⁡f(x)dx≡f′(x)f(x)(modxn)\frac{d \ln f(x)}{dx} \equiv \frac{f(x)}{f(x)} \pmod {x ^ n}dxdlnf(x)​≡f(x)f′(x)…

【A】兼容Core3.0后 Natasha 的隔离域与热编译操作。

文章转载授权级别:A 预计阅读时间:15分钟一、 2.0预览版本增加了哪些功能大部分为底层的升级优化,例如:引擎兼容 Core3.0优化编译流程,增加编译前语法检测及日志,统一采用流加载方式在 Vito 的建议…

2019-03-22-算法-进化(回文链表)

题目描述 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false示例 2: 输入: 1->2->2->1 输出: true进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 解题 思路1:直接利用List的顺序存储性&#x…

多项式牛顿迭代(应用:求逆,开根,对数exp)

多项式牛顿迭代 给定多项式g(x)g(x)g(x),求f(x)f(x)f(x),满足g(f(x))≡0(modxn)g(f(x)) \equiv 0 \pmod {x ^ n}g(f(x))≡0(modxn)。 泰勒展开 对于现有得f(x)f(x)f(x),构造一个多项式g(x)g(x)g(x),使得f(n)(x)g(n)(x)f^{(n)}(…

.NET Core 使用 K8S ConfigMap的正确姿势

背景ASP.NET Core默认的配置文件定义在 appsetings.json和 appsettings.{Environment}.json文件中。这里面有一个问题就是,在使用容器部署时,每次修改配置文件都需要重新构建镜像。当然你也可能会说,我的配置文件很稳定不需要修改&#xff0c…

2019-03-22-算法-进化(环形链表)

题目描述 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入&#xf…

ASP.NET Core on K8S深入学习(9)Secret Configmap

本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。01—Secret关于Secret在应用启动过程中需要一些敏感信息,比如数据库用户名、密码,如果直接明文存储在容器镜像中是不安全的,K8S提供…

生成函数简单入门

生成函数 可表示为F(x)∑nankn(x)F(x) \sum\limits_{n} a_n k_n(x)F(x)n∑​an​kn​(x),对于不同类型的生成函数,有不同的核函数kn(x)k_n(x)kn​(x)。 普通生成函数:kn(x)xnk_n(x) x ^ nkn​(x)xn。 指数生成函数:kn(x)xnn!…

.NET Core 学习资料精选:进阶

2019.09月就要正式发布.NET 3.0了,对于前一篇博文《.NET Core 学习资料精选:入门》大家学的可还开心?这是本系列的第二篇文章:进阶篇,喜欢的园友速度学起来啊。对于还在使用传统.NET Framework 框架的园友,…

P4389 付公主的背包(生成函数,多项式exp)

P4389 付公主的背包 考虑生成函数有: ∏i1n11−xvi对其取对数得,∑i1nln⁡11−xviF(x)11−xv,G(x)ln⁡F(x)G(x)∫F′(x)F(x)dxG(x)∫vxv−11−xvdxG(x)∫∑n≥0vxvnv−1dxG(x)∑n≥0vxvnvvnvG(x)∑n≥0xv(n1)n1G(x)∑n≥1xvnn对于原式:∑i1n∑j1∞xvijj…

VS Code 1.38 发布!

今天(北京时间 2019 年 9 月 5 日),微软发布了 Visual Studio Code 1.38 版本。此版本主要更新的内容包括:Preserve case for global search and replace - 进行全局替换字符串时保留大小写。Settings editor string array valida…

HDU 5730 Shell Necklace(生成函数 多项式求逆)

Shell Necklace 由题意可得f[n]∑i1na[i]f[n−i]f[n] \sum\limits_{i 1} ^{n} a[i] f[n - i]f[n]i1∑n​a[i]f[n−i],设f[n]f[n]f[n]的生成函数为F(x)F(x)F(x),a[n]a[n]a[n]的生成函数为A(n)A(n)A(n) F(x)A(x)∑n≥0xn∑ijnaifn−i由于a00&#xff0c…

.NET Core 收徒,有缘者,可破瓶颈

最近感悟天命,偶有所得,故而打算收徒若干,以继吾之传承。有缘者,可破瓶颈,职场巅峰指日可待。入门基本要求:1、工作经验:1年或以上。2、拜师费用:3999元(RMB)…

【全】Docker(二)-在Docker中部署Nginx实现负载均衡视频教程

一、前言在前面的文章中我们已经介绍了如何在Centos7系统中安装Docker以及利用Docker进行Asp.Net Core应用的部署。在本文中,我们将继续介绍利用Docker部署Nginx服务实现负载均衡。文章最后附有Nginx部署的视频全过程。注:查看公众号历史文章&#xff0c…

P2012 拯救世界2(指数型生成函数)

P2012 拯救世界2 三种基因,我们分别列出其生成函数: F(x)∑n≥0xnn!exG(x)∑n≥0x2n1(2n1)!12(∑n≥0xnn!−∑n≥0(−1)nxnn!)12(ex−e−x)H(x)∑n≥0x2n(2n)!12(∑n≥0xnn!∑n≥0(−1)nxnn!)12(exe−x)F(x) \sum_{n \geq 0} \frac{x ^ n}{n!} e ^ x\…

开源导入导出通用库Magicodes.ExporterAndImporter发布

导入导出通用库 Magicodes.ExporterAndImporter为心莱团队封装的导入导出通用库,并且仍在跟随项目不断地打磨。GitHub地址:https://github.com/xin-lai/Magicodes.ExporterAndImporter目录特点相关官方Nuget包导出 Demo普通导出特性导出列头处理或者多语…

第一个错误的版本

题目描述 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, …, n],你…

P4705 玩游戏(生成函数,多项式ln)

P4705 玩游戏 有ansk∑i1n∑j1m(aibj)knm先舍弃nm不管ansk∑r0k∑i1n∑j1mCkrairbjk−r∑r0k∑i1n∑j1mk!r!(k−r)!airbjk−rk!∑r0k(1r!∑i1nair)(1(k−r)!∑j1mbjk−r)不难发现这就是一个卷积的形式了,但是我们现在还不知道∑i1nair,∑i1mbir,(r∈[0,k])设A(x)为∑…

爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶…

netcore 中的动态代理与RPC实现(微服务专题)

一、关于RPC的调用1. 调用者(客户端Client)以本地调用的方式发起调用;  2. Client stub(客户端存根)收到调用后,负责将被调用的方法名、参数等打包编码成特定格式的能进行网络传输的消息体; …