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

电子商务网站建设与管理课后答案谷歌seo网站排名优化

电子商务网站建设与管理课后答案,谷歌seo网站排名优化,做物流运输网站电话,单页网站cpa虚拟主机解题思路: 1.获取信息: 给出了多个升序链表,要求合并成一个升序链表,返回首元结点 2.分析题目: 外面在21题的时候,讲了怎样合并两个升序链表为一个升序链表,不了解的,建议去看一下21…

解题思路:

        1.获取信息:

                给出了多个升序链表,要求合并成一个升序链表,返回首元结点

        2.分析题目:

                外面在21题的时候,讲了怎样合并两个升序链表为一个升序链表,不了解的,建议去看一下21题题解,不要好高骛远

                (有时候一个问题比较难,将它拆分成多个小问题取逐一解决是一个不错的方法)

                好了,那我们现在知道怎么合并两个有序链表了,类比推理,我们可以将这个问题看作是两数求和的那道题,我们怎么来选取链表进行合并,就显得尤为重要

                (其实每道题的思路和想法都是融会贯通的,只要你理解了,学会了,都大差不差)

                具体选取链表来合并的方式,我们在下面的尝试编写代码环节中借着代码,我会逐一讲解

        3.示例查验:

                示例1:说实话不够鲜明,让我感到鲜明的还是代码框中给出的默认代码

                让我知道,lists中是一个用来储存首元结点地址的vector而已

                示例2:如果lists为空,则返回空

                示例3:如果lists中的链表为空,也返回空,因为空跟空合并也是空,但是如果空跟非空合并,那就是非空了

        4.尝试编写代码

                (1)逐次合并链表

                        (在这里再说一下,我在这个贴子的题解中不会写出怎么合并两个有序链表,只会说怎么选取链表来合并,主要是最近我眼睛有点痛,不想看电子设备,等到康复的时候,我会补上的,还有就是可以帮助你,让你多做一道题哦,就是21题,你可以开始感谢我了,注意:合并两个有序链表可以用递归,也可以用迭代)

                        思路:取第一个链表和第二个链表进行合并,它们合并而成的链表再和第三个链表进行合并,依次类推,直到所有链表都进行了合并,成为了一个升序链表

以下是完整代码

class Solution {
public:ListNode* mergeKLists(vector<ListNode*>& lists) {if(lists.empty())return nullptr;//如果lists为空,则返回空指针ListNode*dummy=lists[0];//取第一个链表for(int i=1;i<lists.size();i++){//依次取后续的链表dummy=Link(dummy,lists[i]);//这里自己品味一下}return dummy;//返回合并后的链表的首元结点的地址(也可以说指向首元结点的指针)}
private://这里还是照顾一下没看过21题题解的。。。我想不出什么亲切的称呼,可以老少皆宜,可以自行脑补一下ListNode* Link(ListNode*dummy,ListNode*list){//这里我使用的递归来写的合并两个有序链表if(dummy==nullptr)return list;//如果某条链表为空,则返回没空的那条链表if(list==nullptr)return dummy;if(dummy->val<list->val){dummy->next=Link(dummy->next,list);//比较小的那个结点的下一位是去掉比较小的那个结点的链表和另一条链表合并后的链表return dummy;}else{list->next=Link(dummy,list->next);return list;}}//我感觉我这里说的,你可能听不懂,所以我还是建议你去看一下21题题解
};

                (2)分治法来合并链表

                        思路:分治法的思想就是大问题拆分成小问题

                        对于链表组lists,我们每次划分为二,那么是不是最后可以划成若干个只有两个链表的组合,我们再合并这些组合,最后就是一个升序的链表了

文字无力,我还是放图说话

以下是完整代码(就不写注释了,自己品味,考验一下你,测试一下你的忠诚度,后续眼睛不痛了,我会补上的)

class Solution {
public:ListNode* mergeKLists(vector<ListNode*>& lists) {if(lists.empty())return nullptr;return Sep(lists,0,lists.size()-1);}
private:ListNode* Sep(vector<ListNode*>& lists,int l,int r){if(r-l==1)return Link(lists[l],lists[r]);if(r==l)return lists[l];int mid=(r+l)/2;ListNode* left=Sep(lists,l,mid);ListNode* right=Sep(lists,mid+1,r);return Link(left,right);}ListNode* Link(ListNode*dummy,ListNode*list){if(dummy==nullptr)return list;if(list==nullptr)return dummy;if(dummy->val<list->val){dummy->next=Link(dummy->next,list);return dummy;}else{list->next=Link(dummy,list->next);return list;}}
};

                (3)选择重造

                        (这里留下这个在力扣上面看到的方法,我只给思路,后续眼睛不痛了,我会补上,还是老样子,考验一下你写代码的能力,你可以后续过来对答案,最迟后天就会补,毕竟是正事)

                        我们取每条链表的首元结点,在这么多个首元结点中,我们从小到大开始连接首元结点,连接完之后,我们再次取每条链表(每次取完首元结点,那些链表就失去了那些结点,原首元结点下一个结点就是新的首元结点)的首元结点,重复操作,直到每条链表都被取完了,那最后拼成的链表就是答案

                        好咯,接下来就交给你咯

http://www.dtcms.com/wzjs/343307.html

相关文章:

  • 沈阳的网站制作公司google seo 优化招聘
  • 网站备案 做网站时就需要吗官方正版清理优化工具
  • 网站建设明细推广app的单子都在哪里接的
  • 微信网站开发平台今日新闻内容
  • 莆田专业网站建设公司一级消防工程师考试
  • 网页制作工具程seo关键词排名优化怎么收费
  • 国外网站开发现状网上推广平台
  • 微信小程序官网平台入口官网登录产品seo怎么优化
  • 网站建设如何做百度关键词搜索引擎
  • 怎样做国外电子商务网站seo收费标准多少
  • 苏州知名高端网站建设企业长沙网站优化体验
  • 分包合同建设局网站下载2023全民核酸又开始了
  • 深圳坂田网站建设如何写好一篇软文
  • 网站建设服务规划与措施网站权重查询接口
  • 做化妆品网站百度开户返点
  • 湛江 网站建设推广宣传方式有哪些
  • 可以做行程的网站2021小学生新闻摘抄
  • 石家庄网站建设模板服务黑帽seo是什么
  • 昆明网络建站公司seo前线
  • 仙桃网站建设线上推广策略
  • 网站推荐你懂我的意思吧知乎在百度怎么发广告做宣传
  • 什么网站做美式软装设计域名注册要多少钱
  • 网站 js 广告代码大全百度词条官网入口
  • 网站开发jsp需要什么jar包seo系统是什么意思
  • 做公司网站用什么系统百度网站排名规则
  • 做的的网站怎样上传购物网站大全
  • 盘石做的网站免费入驻的卖货平台有哪些
  • 网站如何选择服务器长春百度seo排名
  • wordpress多语言插件:qtranslateseo综合查询 站长工具
  • 镇江百度网站seo百科