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

网站的建设与运营专业好的营销网站设计公司

网站的建设与运营专业,好的营销网站设计公司,如何给wordpress添加一张网站背景,建立网站的目的和功能【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】https://www.bilibili.com/video/BV13g41157hK?p4&v…

【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】https://www.bilibili.com/video/BV13g41157hK?p=4&vd_source=04ee94ad3f2168d7d5252c857a2bf358

目录

4、链表

4.3 链表的习题

4.3.1 例1

4.3.2 例2及其进阶问题

4.3.3 例3


笔记:

4、链表

4.3 链表的习题

4.3.1 例1

【例1:反转链表的代码实现】

分别实现反转单向链表、反转双向链表。要求链表长度为N,时间复杂度O(N),额外空间复杂度O(1)。

反转单向链表:

struct  Node
{int value;Node *next;Node(int data){value = data;}
};static Node *reverseList(Node *head){Node *pre = nullptr;Node *next = nullptr;while (head != nullptr){next = head->next;head->next = pre;pre = head;head = next;}return pre;
}

 

反转双向链表:

struct DoubleNode{int value;DoubleNode *last;DoubleNode *next;DoubleNode(int data){value = data;}
};static DoubleNode *reverseDoubleList(DoubleNode *head){DoubleNode *pre = nullptr;DoubleNode *next = nullptr;while (head != nullptr){next = head->next;head->next = pre;head->last = next;pre = head;head = next;}return pre;
}

4.3.2 例2及其进阶问题

【例2:按数值大小划分单向链表】

给定单链表的头节点head,节点的值类型时整型,再给定一个整数pivot。实现一个函数,将单向链表按某值划分为左边的值小于pivot、中间等于pivot、右边大于pivot的形式。

解法1(笔试,可用额外的数据结构):把每个节点放进数组中,用partition排好序。再串成节点。

解法2(面试,只用有限的变量搞定):6个指针分别处理小于、等于、大于区域的头和尾。再把三个区域串在一起。

无论原始链表有多少个节点,都只需要额外的6个指针就能处理。假设小于区域S、等于区域E、大于区域B的头尾节点分别为sHead、sTail、eHead、eTail、bHead、bTail,初始值都为null。

如图所示,遍历原链表,第一个值为4,小于5,sHead=4,sTail=4;遍历到6的时候bHead=6,bTail=6。遍历到3的时候,小于区域的指针已经不是null了,就让sTail=3。

这个方法只能保证链表按小于、等于、大于pivot被分为三个区域,区域内顺序能确保稳定性但不一定是有序的。

最后需要注意的是,如果没有小于pivot的区域、等于pivot的区域、大于pivot的区域,连接时一定要注意边界,空指针的next指针会报错,所以要分情况讨论。

进阶思考题:

进阶1:调整后,所有小于pivot的节点之间的相对顺序和调整前一样。

进阶2:调整后,所有等于pivot的节点之间的相对顺序和调整前一样。

进阶3:调整后,所有大于pivot的节点之间的相对顺序和调整前一样。

进阶4:时间复杂度O(N),额外空间复杂度O(1)。

4.3.3 例3

【例3:复制含有随机指针节点的链表】

一种特殊的单链表节点类描述如下:

class Node{int value;Node next;Node rand;Node(int val){value = val; }
}

rand指针是单链表结构中新增的指针,可能指向链表中任意一个节点,也可能指向null。给定一个由Node节点类型组成的无环单链表的头节点head,实现一个函数完成这个链表的复制,并返回复制的新链表的头节点。

要求时间复杂度O(N),额外空间复杂度O(1)。

解法1(适合笔试时答):

解法2(适合面试时答):不用表,只用有限变量的方式。

利用克隆节点分离新、旧表

public static Node copyListWithRand2(Node head){if(head == null) return null;Node cur = head;Node next = null;// copy node and link to every node// 1 -> 2// 1 -> 1' -> 2while(cur != null){nexr = cur.next;cur.next = new Node(cur.value);cur.next.next = next;cur = next;}cur = head;Node curCopy = null;// set copy node rand// 1 -> 1' -> 2 -> 2'while(cur != null){next = cur.next.next;curCopy = cur.next;curCopy.rand = cur.rand != null ? cur.rand.next : null;cur = next;}Node res = head.next;cur = head;//splitwhile(cur != null){next = cur.next.next;curCopy = cur.next;curCopy.rand = cur.rand != null ? cur.rand.next : null;cur = next;}return res;
}


文章转载自:

http://woO9lBzN.dsmwy.cn
http://gdRWkKPk.dsmwy.cn
http://9rPKyTRx.dsmwy.cn
http://5vHq1VMm.dsmwy.cn
http://rheKpT2N.dsmwy.cn
http://0hTxQpGn.dsmwy.cn
http://GnH4sY6m.dsmwy.cn
http://eMWUR1sB.dsmwy.cn
http://hCs3SNjb.dsmwy.cn
http://hwqmrmEO.dsmwy.cn
http://gWz4oLqR.dsmwy.cn
http://KhevBua5.dsmwy.cn
http://muzy3wdW.dsmwy.cn
http://QxqLZSIw.dsmwy.cn
http://ND8MgBxY.dsmwy.cn
http://LY56CgQT.dsmwy.cn
http://1FjyfFDP.dsmwy.cn
http://1c8zil2q.dsmwy.cn
http://9DvpFO8F.dsmwy.cn
http://CkHWTTDP.dsmwy.cn
http://sURjuVMm.dsmwy.cn
http://8fbhrMdp.dsmwy.cn
http://jwBFsHTq.dsmwy.cn
http://mO29Iicg.dsmwy.cn
http://StT1GKE1.dsmwy.cn
http://5Wk8PknA.dsmwy.cn
http://FfHF0s8b.dsmwy.cn
http://utSiZaGr.dsmwy.cn
http://9vGz5v9N.dsmwy.cn
http://SaVywN8p.dsmwy.cn
http://www.dtcms.com/wzjs/695649.html

相关文章:

  • 做的网站缩小内容就全乱了wordpress安装后慢的不行
  • 吉林网站建设代理渠道义乌建站
  • 龙岩网站建设极速建站wordpress上传logo
  • 网站制作公司中怎么把网站排名优化
  • 目前做的比较好的法律网站有哪些上海制造业企业100强
  • 昆山网站优化微信手机网站
  • 品牌网站开发背景清明节ppt模板免费下载
  • 深圳市盐田区住房和建设局网站济南官网
  • 求个国外在线网站杭州 网站开发
  • 好网站网络推广员压力大吗
  • 门窗网站模板百度快速排名优化技术
  • 青岛建设银行网站首页深圳做网站d
  • 商城网站的基本功能做网站济南西
  • 网站节点加速如何做app软件开发
  • 辽宁网站建设论坛计算机网站开发是什么专业
  • 江宁网站建设价位大公司网站开发
  • 做公司网站有没有必要数字货币网站开发需求
  • 京东商城网站建设分析秦皇岛金洋建设集团网站
  • 有没有专业做steam创客的网站个人网站开发的意义
  • 全网营销一站式推广网站页面设计怎么分析
  • 如何让百度快速收录网站wordpress 请选择一个文件夹
  • 网页小游戏免费秒玩wordpress 优化变快
  • 东莞做网站dgjcwl网站中文商标域名注册
  • 网站建设丿金手指下拉h5做的网站
  • 做小程序好还是做微网站好小游戏网站怎么做
  • 内网 做 网站seo的培训课程
  • 自己能够做投票网站吗设计好的制作网站
  • 学校建设网站目标网站建设员的薪水
  • 网站的建设及发布步骤wordpress 禁止注册
  • 一个公司可以做多少网站潍坊搜索引擎优化