中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

遼寧城鄉(xiāng)建設(shè)部網(wǎng)站首頁網(wǎng)站策劃是干什么的

遼寧城鄉(xiāng)建設(shè)部網(wǎng)站首頁,網(wǎng)站策劃是干什么的,wordpress科技主題公園,國外做免費的視頻網(wǎng)站有哪些解題思路:兩種解法,一種優(yōu)先級隊列,一種分治優(yōu)先級隊列解法:以節(jié)點中存儲的值進行排序依次遍歷所有的鏈表,把鏈表中的節(jié)點加入到優(yōu)先級隊列中依次從優(yōu)先級隊列的彈出并刪除最小的元素加入到新的鏈表中,直到…

解題思路:兩種解法,一種優(yōu)先級隊列,一種分治

  1. 優(yōu)先級隊列解法:以節(jié)點中存儲的值進行排序

  1. 依次遍歷所有的鏈表,把鏈表中的節(jié)點加入到優(yōu)先級隊列中

  1. 依次從優(yōu)先級隊列的彈出并刪除最小的元素加入到新的鏈表中,直到隊列為空,

  1. 返回新的鏈表

AC代碼:

class Solution {public static ListNode mergeKLists(ListNode[] lists) {PriorityQueue<ListNode> queue = new PriorityQueue<ListNode>((first,second)->first.val-second.val);for (ListNode list : lists) {while (list!=null){queue.add(list);list=list.next;}}ListNode result = new ListNode();ListNode tem = result;while (queue.size()!=0){ListNode node =queue.remove();tem.next =node;tem=tem.next;}tem.next=null;//防止出現(xiàn)循環(huán)鏈,a->b->areturn result.next;}
}
  1. 分治:類似與歸并排序的思想

  1. 如果鏈表的長度大于2:繼續(xù)對鏈表進行拆分成兩部分,繼續(xù)使用分治的思想

  1. 將鏈表數(shù)組數(shù)組分成兩半,list[0,left]和list[left,end],分別對這對兩部分進行分治排序合并,這兩部分排序后的結(jié)果first,second

  1. 然后對first和second這兩個鏈表進行雙鏈表合并排序,合并思路:雙指針:因為兩個鏈表有序,所以只需要依次比較兩個元素的大小,然后添加到新的鏈表中即可

  1. first指針指向第一個鏈表,second指針指向第二個鏈表,result保存合并后的鏈表的頭節(jié)點的前驅(qū),tail初值指向result

  1. 如果fist和second當(dāng)前指向的節(jié)點都不為null,循環(huán)遍歷:

  1. 如果first.val<second.value,tail.next=first,first=first.next,tail=tail.next

  1. 否則,tail.next=second,second=second.next,tail=tail.next

  1. 循環(huán)結(jié)束之后,那么first和second只會有一個節(jié)點不為null,因為原鏈表已經(jīng)有序,所以只需要將不為null的哪個鏈表添加到prev.next中即可

  1. 最終result.next即為合并后鏈表的第一個節(jié)點

  1. 如果鏈表的長度等于1:不需要分治合并,直接返回該鏈表即可

AC代碼:

class Solution {public static ListNode mergeKLists(ListNode[] lists) {if (lists==null||lists.length==0){return null;}return merge(lists,0,lists.length-1);}//對list[left,right]范圍的鏈表進行合并,返回合并后新的鏈表public static ListNode merge(ListNode[] lists,int left,int right){if (left==right){return lists[left];}int mid = (left+right)/2;ListNode first = merge(lists,left,mid);//對左半部的鏈表分進行分治合并,返回合并后的結(jié)果ListNode second = merge(lists,mid+1,right);//對右半部分的鏈表進行分治合并,返回合并后的結(jié)果ListNode result = sortMerge(first,second);//對first和second進行雙鏈表合并return result;}public static ListNode sortMerge(ListNode first,ListNode second){ListNode result = new ListNode();ListNode tail = result;while (first!=null&&second!=null){if (first.val<second.val){tail.next= first;first=first.next;}else {tail.next=second;second=second.next;}tail = tail.next;}tail.next=(first==null)?second:first;return result.next;}
}
http://www.risenshineclean.com/news/38207.html

相關(guān)文章:

  • 內(nèi)網(wǎng)小網(wǎng)站的建設(shè)廣州網(wǎng)站運營
  • 仿站能被百度收錄嗎招商外包
  • 主流網(wǎng)站開發(fā)軟件優(yōu)秀網(wǎng)站
  • 做二手車有哪些網(wǎng)站有哪些競價推廣代運營
  • 本地網(wǎng)站建設(shè)多少錢信息大全百度推廣怎么開戶
  • 素材下載網(wǎng)站源碼seo網(wǎng)絡(luò)推廣企業(yè)
  • 上海微網(wǎng)站公司實時熱搜
  • 北京市環(huán)境建設(shè)辦公室網(wǎng)站免費關(guān)鍵詞排名優(yōu)化軟件
  • 網(wǎng)站備案備的是域名還是空間企業(yè)培訓(xùn)有哪些方面
  • 深圳做網(wǎng)站哪家便宜微信小程序開發(fā)公司
  • 滄州wap網(wǎng)站制作企業(yè)推廣網(wǎng)
  • 小程序網(wǎng)站開發(fā)怎么樣谷歌廣告上海有限公司
  • 做外貿(mào)怎么打開國外網(wǎng)站亞馬遜關(guān)鍵詞搜索工具
  • 想自己做點飄紗素材到網(wǎng)站上買鄭州seo服務(wù)技術(shù)
  • 網(wǎng)站自助授權(quán)系統(tǒng)站長之家網(wǎng)站排名
  • 成立一個網(wǎng)站平臺要多少錢關(guān)鍵詞是怎么排名的
  • 品牌網(wǎng)站建設(shè)小科6a蚪湖北網(wǎng)絡(luò)推廣有限公司
  • 做網(wǎng)站要注意哪些長春網(wǎng)絡(luò)優(yōu)化最好的公司
  • 網(wǎng)站建設(shè)需要多大的空間百度數(shù)據(jù)庫
  • 網(wǎng)站搜索排名百度seo系統(tǒng)
  • 免費看電視劇的網(wǎng)站在線觀看seo免費診斷電話
  • 橙子建站落地頁制作郴州網(wǎng)站建設(shè)
  • 網(wǎng)站app簡單做軟文怎么寫
  • 北京價格微網(wǎng)站建設(shè)手機百度ai入口
  • 中英文網(wǎng)站asp怎么做搜狗搜圖
  • 網(wǎng)站建設(shè)頤高上海街保溫杯軟文營銷300字
  • 源代碼做的網(wǎng)站好用么百度開放云平臺
  • 湖州企業(yè)做網(wǎng)站手機關(guān)鍵詞seo排名優(yōu)化
  • 游戲推廣網(wǎng)站制作seo的基本步驟包括哪些
  • 團購網(wǎng)站做攝影如何查詢百度收錄