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

网站模板 静态模版陕西省住房和城乡建设网站

网站模板 静态模版,陕西省住房和城乡建设网站,企业vi系统设计是什么,专业小程序开发题目链接 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/wzjs/597369.html

相关文章:

  • 东莞市房管局官方网站网页建设
  • 苏州园科生态建设集团网站自建站 外贸
  • 怎么做网站互换链接创新的商城网站建设
  • 网站推广渠道类型搜索量查询百度指数
  • 有做翻译英文网站wordpress屏蔽右键f12
  • 网站的服务器是什么网站推广短信
  • 国内做微商城比较知名的网站聚云测网站怎么做的
  • 没营业执照怎么做网站一个人 建设网站
  • 做网站用Linux还是win照片展示网站模板免费下载
  • 网站配色表网站地图用什么格式
  • 最火爆的视频制作app网站优化推广外包
  • 网站建设招标评分wordpress+手动备份
  • 昆明专业的网站制作建设游戏怎么制作的
  • 北京建网站公司有哪些中山做营销型网站公司
  • 怎么做可以把网站图片保存下来沈阳做微网站
  • 济南建站推荐企汇优见效付款wordpress 个人网站
  • 温州网站制作策划网站 模板
  • 一般做哪些外贸网站wordpress登陆的插件
  • 现有的网站开发技术女生做网站前台
  • 百度网站收录提交入口在哪做标书有哪些网站能接到
  • 手机网站建设wap宁国网站建设|网站建设报价 - 新支点网站建设
  • 艺术网站建设模板信阳网站建设策划方案
  • 南昌做网站比较好的公司php网站上做微信支付功能
  • 优秀国内个人网站租用服务器
  • 北京宏福建设工程有限公司网站用了wordpress的电商网站
  • 怎么做外卖网站.net响应式网站模板
  • 品牌网站建设预算wordpress搬迁后台总跳转到老网站
  • 在网站后台挂马网站搜索框怎么做
  • 电子商务网站的优点有那些双辽做网站
  • 主题资源网站制作平台免费发布推广信息网站