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

怎么做有趣的微视频网站建网站咨询

怎么做有趣的微视频网站,建网站咨询,亚马逊雨林属于哪个国家的,济南市网站推广公司题目链接 21. 合并两个有序链表 - 力扣(LeetCode) 题目描述 为什么可以用递归 递归 人脑 计算机递归结构递归是人脑借助计算机递归结构去解决问题人脑发现问题具有递归结构,于是借助计算机递归结构去解决问题所以递归算法脱离计算机之后根…

题目链接

        21. 合并两个有序链表 - 力扣(LeetCode)

题目描述

为什么可以用递归

  1. 递归 = 人脑 + 计算机递归结构
  2. 递归是人脑借助计算机递归结构去解决问题
  3. 人脑发现问题具有递归结构,于是借助计算机递归结构去解决问题
  4. 所以递归算法脱离计算机之后根本不存在
  5. 我们采用递归算法把问题解出来,仅仅只是借助了计算机的递归结构,完全是计算机的功劳
  6. 对于递归来说,计算机为我们承担了暴力计算的全部。人脑在此时的价值仅仅体现在把问题交给计算机而已
  7. 对于递归算法来说人脑的价值不体现在:帮助计算机更轻松的计算,减轻计算机负担;也不体现在:脱离计算机,在完全靠人脑的情况下,通过更聪明的方式让人脑解决问题。
  8. 也就是说递归算法几乎配不上算法这两个字,所谓递归算法的全部内容仅仅只是:发现这个问题具有递归结构,正好借用计算机递归计算,交给计算机去计算。仅此而已

解法1:递归法

class Solution {
public:ListNode* dfs(ListNode* list1, ListNode* list2){if (list1 == nullptr)    return list2;if (list2 == nullptr)    return list1;if (list1->val <= list2->val){list1->next = dfs(list1->next, list2);return list1;}list2->next = dfs(list2->next, list1);return list2;}ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {ListNode* object_head = dfs(list1, list2);return object_head;}
};

递归分析

        大家可以先阅读一下:leetcode:面试题 08.06. 汉诺塔问题-CSDN博客
        本问题与汉诺塔问题有何不同呢?

  1. 汉诺塔问题的递归主逻辑中可是没有if语句做条件判断的
  2. 本问题根据条件判断语句,依照实际情况有选择的去做递归
  3. 汉诺塔问题中不需要分情况去有选择的递归
  4. 如果本问题不是采用有选择的递归,将会非常复杂。

解法2:利用容器multimap

class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {if (list1 == nullptr && list2 == nullptr) {return nullptr;}multimap<int, ListNode*> myMultimap;while (list1){myMultimap.insert(make_pair(list1->val, list1));list1 = list1->next;}while (list2){myMultimap.insert(make_pair(list2->val, list2));list2 = list2->next;}ListNode* tmp;auto it = myMultimap.begin();if (it != myMultimap.end()) {tmp = it->second;}int count = 1;for (const auto& pair : myMultimap){if (count > 1){tmp->next = pair.second;tmp = pair.second;}count++;}tmp->next = nullptr;return myMultimap.begin()->second;}
};

解法2分析

  1. 该题是为了排序,且有重复元素,正好利用multimap的特性
  2. 时间复杂度是O(nlogn),递归法时间复杂度是O(n)
http://www.dtcms.com/a/579046.html

相关文章:

  • LORA参数微调
  • 微信小程序开发——第四章:小程序的组件与模块化开发
  • 苹果牵手谷歌!Siri 将搭载 1.2 万亿参数 Gemini 模型
  • 水利工程建设信息网站鞍山网站怎么做出来的
  • python做网站好处网络平台推广的好处
  • 建设一个境外网站网站建设仟首先金手指13
  • 如何开网站详细步骤接做网站私活
  • python做网站入门做网站文字怎么围绕图片
  • 操作系统原理:实验1进程观测
  • WGCLOUD的监控数据会自动清理吗
  • 西双版纳建设局网站庆阳网站设计制作
  • 如何解决 pip install 安装报错 [WinError 32] 文件被占用(杀毒/占用进程)问题
  • 雄县阿里巴巴网站建设wordpress 字段插件
  • 网站ip解析wordpress控制列表页
  • Zabbix基于LNMP架构部署与管理
  • Nginx 代理apk下载,重定向问题
  • 企业自己的网站天津建站模板搭建
  • 网站建设开票内容官方网站内容可做证据吗
  • gazobo
  • 机器学习中交叉验证(CV)、CV fold(交叉验证折) 和 数据泄露
  • 制造业数字化转型实践:如何构建企业级项目数字化运营体系
  • RFID 赋能卫生陶瓷高压成型全流程数据采集与管控应用
  • 网站制作策划方案企业解决方案参考网站
  • 电子商务网站建设期末试题吉林省建设厅门户网站
  • Docker 常用命令与时区配置指南
  • 天津网站开发公司电话北京网站建设公司那个好
  • 常用网站网址网站优化企业排名
  • 国际物流公司网站有奖竞猜网站建设
  • 怎样创建网站教程长春高铁站
  • 如何网站推广广东建设协会网站首页