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

深圳网站建设知了网络企业网站有哪些

深圳网站建设知了网络,企业网站有哪些,做购物网站的步骤,wordpress可以用html5吗链表解题技巧 额外的数据结构#xff08;哈希表#xff09;#xff1b;快慢指针#xff1b;虚拟头节点#xff1b; 链表划分 将单向链表值划分为左边小、中间相等、右边大的形式。中间值为pivot划分值。 要求#xff1a;调整之后节点的相对次序不变#xff0c;时间复…链表解题技巧 额外的数据结构哈希表快慢指针虚拟头节点 链表划分 将单向链表值划分为左边小、中间相等、右边大的形式。中间值为pivot划分值。 要求调整之后节点的相对次序不变时间复杂度不高于O(N)空间复杂度不高于O(1)。 方法1数组 快排 整体思路就是遍历一遍链表把节点存入数组对数组快排然后再遍历数组生成将节点重新连接。 该方法时间复杂度为O(N*logN)空间复杂度为O(N)且会改变相对次序。 但最容易想到和实现。 ListNode* LinkedList::partitionWithPivotAndArray(ListNode *head, int pivot) {if (head nullptr || head-next nullptr) return head;// push into arrayListNode *cur head;std::vectorListNode* arr;while (cur ! nullptr) {arr.push_back(cur);cur cur-next;}// partitionint less -1;int more (int)arr.size();for (int i 0; i more; ) {if (arr[i]-val pivot) {swap(arr[less], arr[i]);} else if (arr[i]-val pivot) {swap(arr[--more], arr[i]);} else {i;}}// rejointint i 1;for (; i (int)arr.size(); i) {arr[i - 1]-next arr[i];}arr[i-1]-next nullptr;return arr[0]; }void LinkedList::swap(ListNode *a, ListNode *b) {ListNode tmp *a;*a *b;*b tmp; }方法2多个指针 主要是使用6个指针记录3个部分的头、尾位置。 在判定完一个节点属于3个部分的哪个部分后 如果是当前这部分的第一个节点将该部分头部head和tail的位置均赋值为该节点如果不是第一个节点将该部分尾部tail的next指向当前节点tail在移动到该节点 三部分连接 第1部分存在 第2部分存在1尾部连接2头部第2部分不存在1尾部连接3头部 不论第一部分存在与否 第2部分存在2尾部连接3头部 判断头节点 返回less、pivot和more中不为空且在前面的指针即less不为空返回less否则pivot不为空返回pivot否则才返回more。 ListNode* LinkedList::partitionWithPivot(ListNode *head, int pivot) {if (head nullptr || head-next nullptr) return head;ListNode *less_head, *less_tail, *pivot_head, *pivot_tail, *more_head, *more_tail;less_head less_tail pivot_head pivot_tail more_head more_tail nullptr;// partitionListNode *cur head;while (cur) {if (cur-val pivot) {if (less_head nullptr) {less_head less_tail cur;} else {less_tail-next cur;less_tail cur;}} else if (cur-val pivot) {if (pivot_head nullptr) {pivot_head pivot_tail cur;}else {pivot_tail-next cur;pivot_tail cur;}} else {if (more_head nullptr) {more_head more_tail cur;}else {more_tail-next cur;more_tail cur;}}cur cur-next;}// jointif (less_head ! nullptr) {less_tail-next pivot_head ! nullptr ? pivot_head : more_head;}if (pivot_head ! nullptr) {pivot_tail-next more_head;}// final headhead less_head ? less_head : (pivot_head ? pivot_head : more_head);return head; }Notes 注意处理小于部分、等于部分、大于部分有缺失的情况。
http://www.dnsts.com.cn/news/203757.html

相关文章:

  • 西安网站搭建建设定制重庆市建设工程信息官网站
  • redis网站开发教程如何查看一个网站是用什么程序做的
  • 手机企业网站如何建设北京网页设计公司招聘
  • 湘西建网站贵州景点网站建设方案
  • 发稿类别是什么wordpress the7 seo
  • 网站备案接入商开发个网站开票名称是什么
  • 做淘宝一样的网站广东做网站哪家公司好
  • 做网站租用服务器广东蕉岭县建设局网站
  • 建设网站技术要求什么软件推广比较赚钱
  • 网站备案ip查询网站查询wordpress本地mp3
  • 全国网站建设公司有多少家wordpress钩子介绍
  • 做 淘宝客最大的网站是叫什么网站收费系统平台
  • 北京做网站推广苏州企业网站seo
  • 我做服装设计师的 求推荐资源网站网站建设启动资金预算
  • 做汽车团购的网站wordpress使用个人写的页面
  • 扶余网站建设支付宝网站开发
  • 河南省建设监理协会新网站国外营销网站建设
  • 万江仿做网站查企业信息查询平台官网免费
  • 宝安做棋牌网站建设哪家技术好零基础学ui设计好学吗
  • 陕西建设工程信息网站中国造价信息网官网
  • 定西市小企业网站建设建设wordpress提示无法创建目录下
  • 山西运城网站建设抖音怎么推广引流
  • 网站外链接如何做南高齿网站是谁做的
  • 小学校园网站建设公司官网制作百度
  • 网站备案 上一级服务商名称荷兰网站开发价格
  • 设计师接私单网站建设网站站点有哪些步骤
  • wordpress网站名称函数河北网站建设开发
  • 推广平台哪个效果最好成都关键词seo推广平台
  • 网站建设是怎么收费的关键词推广方式
  • 手机做车载mp3下载网站六安网站开发