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

临沂网站建设培训班北京网站优化多少钱

临沂网站建设培训班,北京网站优化多少钱,政府网站英文版建设,网站开发算前端吗前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴&am…

前言

###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.随机链表的复制

题目链接:138. 随机链表的复制 - 力扣(LeetCode)

题面:

基本分析:主要难在random的处理上,我看题解的

代码:

/*
// Definition for a Node.
class Node {int val;Node next;Node random;public Node(int val) {this.val = val;this.next = null;this.random = null;}
}
*/class Solution {public Node copyRandomList(Node head) {for(Node i = head;i!=null;i=i.next){Node flag = new Node(i.val);flag.next = i.next;i.next = flag;i=i.next;}for(Node i = head;i!=null;i=i.next){if(i.random!=null){i.next.random = i.random.next;}i = i.next;}Node root = new Node(-1);Node node = new Node(-1);root.next = node;for(Node i = head;i!=null;i=i.next){node.next = i.next;i.next = node.next.next;node = node.next;}return root.next.next;}
}

2.排序链表

题目链接:148. 排序链表 - 力扣(LeetCode)

题面:

基本分析:我是先把所有值存起来然后构建链表的暴力写法

代码:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode sortList(ListNode head) {int[] arr = new int[50005];int count =  0;for(ListNode i = head;i!=null;i=i.next){arr[count++] = i.val;}Arrays.sort(arr,0,count);ListNode p = head;for(int i = 0;i<count;i++){p.val = arr[i];p = p.next;}return head;}
}

3.LRU缓存

题目链接:146. LRU 缓存 - 力扣(LeetCode)

题面:

基本分析:把整个过程想象成一叠书,可以看看灵神的题解

代码:

class LRUCache {private static class Node {int key, value;Node prev, next;Node(int k, int v) {key = k;value = v;}}private final int capacity;private final Node dummy = new Node(0, 0); // 哨兵节点private final Map<Integer, Node> keyToNode = new HashMap<>();public LRUCache(int capacity) {this.capacity = capacity;dummy.prev = dummy;dummy.next = dummy;}public int get(int key) {Node node = getNode(key);return node != null ? node.value : -1;}public void put(int key, int value) {Node node = getNode(key);if (node != null) { // 有这本书node.value = value; // 更新 valuereturn;}node = new Node(key, value); // 新书keyToNode.put(key, node);pushFront(node); // 放在最上面if (keyToNode.size() > capacity) { // 书太多了Node backNode = dummy.prev;keyToNode.remove(backNode.key);remove(backNode); // 去掉最后一本书}}// 获取 key 对应的节点,同时把该节点移到链表头部private Node getNode(int key) {if (!keyToNode.containsKey(key)) { // 没有这本书return null;}Node node = keyToNode.get(key); // 有这本书remove(node); // 把这本书抽出来pushFront(node); // 放在最上面return node;}// 删除一个节点(抽出一本书)private void remove(Node x) {x.prev.next = x.next;x.next.prev = x.prev;}// 在链表头添加一个节点(把一本书放在最上面)private void pushFront(Node x) {x.prev = dummy;x.next = dummy.next;x.prev.next = x;x.next.prev = x;}
}

4.合并k个升序链表

题目链接:23. 合并 K 个升序链表 - 力扣(LeetCode)

题面:

基本分析:暴力做法还是很好做的,把所有值存数组,排序后构造一个数组并返回

代码:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode mergeKLists(ListNode[] lists) {int[] arr = new int[10005];int count = 0;for(ListNode node : lists){for(ListNode i = node;i!=null;i=i.next){arr[count++] = i.val;}}Arrays.sort(arr,0,count);ListNode root = new ListNode(0);ListNode node = new ListNode(0);root.next = node;for(int i = 0;i<count;i++){ListNode flag = new ListNode(arr[i]);node.next = flag;node = node.next;}return root.next.next;}
}

后言

上面是力扣Hot100的链表专题,下一篇是其他专题的习题,希望有所帮助,一同进步,共勉!

http://www.15wanjia.com/news/18206.html

相关文章:

  • 哈尔滨站建好了吗日本网络ip地址域名
  • 杭州做网站价格手机如何建网站
  • wordpress区块编辑器seo网络推广优化教程
  • 营销型网站建设公司推荐广东广州网点快速网站建设
  • 个人网站界面设计图片市场推广计划怎么写
  • 服务器做两个网站百度营销推广登录
  • 宿迁网站建设宿迁网络推广员是干什么的
  • 做果蔬行业的网站现在有哪些免费推广平台
  • 网站常用图片百度分析
  • 上海尚海整装官方网站怎么设计网站
  • 武汉专业做网站上海网站快速排名提升
  • 小说网站怎么做免费刷推广链接的软件
  • 做网站是什么编程seo推广教程seo高级教程
  • 网站开发可行性技术方案2345网址导航下载桌面
  • 备案号网站下边市场营销四大基本策略
  • 个人网站是否需要备案2024年新冠第三波症状分析
  • 做哪种网站流量大宁波seo推广联系方法
  • 做公司网站的推广工作怎样郑州百度搜索优化
  • 杭州网站做的好公司网络推广与优化
  • 贵阳网页网站制作app推广拉新工作可靠吗
  • 做公司网站的费用郑州网站设计有哪些
  • 扬州网站制作哪家好广州百度推广外包
  • 爱空间装修公司口碑怎么样上海优化外包公司排名
  • ps网站切图教程北京网站推广
  • 一个人是否可以做公司网站网站建设的系统流程图
  • 建政府网站要多少钱站长统计app下载
  • 网站建设SEO优化哪家好如何做网站优化
  • 网站秒收录站长素材
  • 怎么用自己的网站做链轮做引流推广的平台600
  • wordpress企业站被黑沈阳疫情最新消息