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

网站默认中文字体南京建企业网站哪家好

网站默认中文字体,南京建企业网站哪家好,建站公司不给源码,wordpress旅游类网站模板wy的leetcode刷题记录_Day81 声明 本文章的所有题目信息都来源于leetcode 如有侵权请联系我删掉! 时间#xff1a;2024-3-4 前言 目录 wy的leetcode刷题记录_Day81声明前言232. 用栈实现队列题目介绍思路代码收获 138. 随机链表的复制题目介绍思路代码收获 141. 环形链表题…wy的leetcode刷题记录_Day81 声明 本文章的所有题目信息都来源于leetcode 如有侵权请联系我删掉! 时间2024-3-4 前言 目录 wy的leetcode刷题记录_Day81声明前言232. 用栈实现队列题目介绍思路代码收获 138. 随机链表的复制题目介绍思路代码收获 141. 环形链表题目介绍思路代码收获 142. 环形链表 II题目介绍思路代码收获 232. 用栈实现队列 今天的每日一题是232. 用栈实现队列 题目介绍 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作push、pop、peek、empty 实现 MyQueue 类 void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素.boolean empty() 如果队列为空返回 true 否则返回 false 说明 你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。 你所使用的语言也许不支持栈。你可以使用 list 或者 deque双端队列来模拟一个栈只要是标准的栈操作即可。 示例 1 输入 [“MyQueue”, “push”, “push”, “peek”, “pop”, “empty”] [[], [1], [2],[], [], []] 输出 [null, null, null, 1, 1, false] 解释 MyQueue myQueue new MyQueue(); myQueue.push(1); // queue is: [1] myQueue.push(2); // queue is: [1, 2] (leftmost is front of the queue) myQueue.peek(); // return 1 myQueue.pop(); // return 1, queue is [2] myQueue.empty(); // return false 思路 本题是一道简单的题我们只需要使用俩个栈一个输入栈一个输出栈输入栈用来存贮push到队列中的元素输出栈用来保存队列。push时将队列元素输入到输入栈pop时将输入栈中所有元素pop到输出栈中保存此时输出栈的pop顺序就是队列顺序。 代码 class MyQueue { public:stackint stk_in;stackint stk_out;MyQueue() {}void push(int x) {stk_in.push(x);}int pop() {if(stk_out.empty()){while(!stk_in.empty()){int xstk_in.top();stk_in.pop();stk_out.push(x);}}int xstk_out.top();stk_out.pop();return x;}int peek() {if(stk_out.empty()){while(!stk_in.empty()){int xstk_in.top();stk_in.pop();stk_out.push(x);}}return stk_out.top();}bool empty() {return stk_in.empty()stk_out.empty();} };/*** Your MyQueue object will be instantiated and called as such:* MyQueue* obj new MyQueue();* obj-push(x);* int param_2 obj-pop();* int param_3 obj-peek();* bool param_4 obj-empty();*/收获 一道非常简单且基础的题。 138. 随机链表的复制 138. 随机链表的复制 题目介绍 给你一个长度为 n 的链表每个节点包含一个额外增加的随机指针 random 该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。 例如如果原链表中有 X 和 Y 两个节点其中 X.random -- Y 。那么在复制链表中对应的两个节点 x 和 y 同样有 x.random -- y 。 返回复制链表的头节点。 用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示 val一个表示 Node.val 的整数。random_index随机指针指向的节点索引范围从 0 到 n-1如果不指向任何节点则为 null 。 你的代码 只 接受原链表的头节点 head 作为传入参数。 示例 1 输入head [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出[[7,null],[13,0],[11,4],[10,2],[1,0]] 示例 2 输入head [[1,1],[2,1]] 输出[[1,1],[2,1]] 示例 3 输入head [[3,null],[3,0],[3,null]] 输出[[3,null],[3,0],[3,null]] 思路 正常的链表深拷贝就仅仅只需要将节点的值以及节点的后续指针拷贝即可本题的难点就在节点还包含一个随机指针指向随机的一个节点。假设在我们一个一个深拷贝检点时深拷贝一个节点的随机指针时这个随即指针指向的新节点并未创建那么就会造成指向不明的后果。所以对于每一个节点我们将递归的深拷贝其后续指针和随即指针并使用哈希表将原节点与新节点相映射。 代码 /* // Definition for a Node. class Node { public:int val;Node* next;Node* random;Node(int _val) {val _val;next NULL;random NULL;} }; */class Solution { public:unordered_mapNode*,Node* cacheNode;Node* copyRandomList(Node* head) { if(headnullptr){return nullptr;}if(!cacheNode.count(head)){Node* newHeadnew Node(head-val);cacheNode[head]newHead;newHead-nextcopyRandomList(head-next);newHead-randomcopyRandomList(head-random);}return cacheNode[head];} };另一种解法请参考题解 class Solution { public:Node* copyRandomList(Node* head) {if (head nullptr) {return nullptr;}for (Node* node head; node ! nullptr; node node-next-next) {Node* nodeNew new Node(node-val);nodeNew-next node-next;node-next nodeNew;}for (Node* node head; node ! nullptr; node node-next-next) {Node* nodeNew node-next;nodeNew-random (node-random ! nullptr) ? node-random-next : nullptr;}Node* headNew head-next;for (Node* node head; node ! nullptr; node node-next) {Node* nodeNew node-next;node-next node-next-next;nodeNew-next (nodeNew-next ! nullptr) ? nodeNew-next-next : nullptr;}return headNew;} }; 收获 递归的使用大大简化了代码。 141. 环形链表 141. 环形链表 题目介绍 给你一个链表的头节点 head 判断链表中是否有环。 如果链表中有某个节点可以通过连续跟踪 next 指针再次到达则链表中存在环。 为了表示给定链表中的环评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置索引从 0 开始。注意pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。 如果链表中存在环 则返回 true 。 否则返回 false 。 示例 1 输入head [3,2,0,-4], pos 1 输出true 解释链表中有一个环其尾部连接到第二个节点。 示例 2 输入head [1,2], pos 0 输出true 解释链表中有一个环其尾部连接到第一个节点。 示例 3 输入head [1], pos -1 输出false 解释链表中没有环。 思路 快慢指针使用步长不等的指针进行遍历如果俩个指针重新相遇说明存在换否则不存在。 代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:bool hasCycle(ListNode *head) {if(headnullptr||head-nextnullptr)return false; ListNode* lowhead;ListNode* highhead-next;while(low!high){if(highnullptr||high-nextnullptr)return false;lowlow-next;highhigh-next-next;}return true;} };收获 双指针的应用。 142. 环形链表 II 142. 环形链表 II 题目介绍 给定一个链表的头节点 head 返回链表开始入环的第一个节点。 如果链表无环则返回 null。 如果链表中有某个节点可以通过连续跟踪 next 指针再次到达则链表中存在环。 为了表示给定链表中的环评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置索引从 0 开始。如果 pos 是 -1则在该链表中没有环。注意pos 不作为参数进行传递仅仅是为了标识链表的实际情况。 不允许修改 链表。 示例 1 输入head [3,2,0,-4], pos 1 输出返回索引为 1 的链表节点 解释链表中有一个环其尾部连接到第二个节点。 示例 2 输入head [1,2], pos 0 输出返回索引为 0 的链表节点 解释链表中有一个环其尾部连接到第一个节点。 示例3 输入head [1], pos -1 输出返回 null 解释链表中没有环。 思路 本题很巧去看题解题解 代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:ListNode *detectCycle(ListNode *head) {if(headnullptr||head-nextnullptr)return nullptr; ListNode* lowhead;ListNode* highhead;while(low!high){if(highnullptr||high-nextnullptr)return nullptr;lowlow-next;highhigh-next-next;}highhead;while(low!high){lowlow-next;highhigh-next;}return high;} };收获 双指针的应用。
http://www.zqtcl.cn/news/873008/

相关文章:

  • 工艺品网站模板下载-古色古香建站软件排名
  • 微视频网站源码网站建设目标个人博客dw
  • 山西省建设厅入晋备案网站洛阳网站在哪备案
  • 可以做物理试验的网站有哪些仿微博网站模板
  • 网站横幅怎做网站到期不想续费
  • 黑龙江网站备案管理局济南网站建设策划
  • 网站怎么静态化网页设计与制作图片显示不出来
  • 市场营销推广策划方案网站如何做标题优化
  • 怎么让客户做网站手机网站如何优化
  • 柳州市住房和城乡建设局网站首页赣州章贡区人口
  • 有偷菜餐厅城市建设的网站好的手机网站
  • 做进行网站推广赚钱互联网企业信息服务平台
  • 微信公众号做视频网站吗百度账号登录入口网页版
  • 北京建设银行纪念钞预定官方网站撤销网站备案申请书
  • 网站平台策划书安丘市建设局网站
  • 图片类网站建设seol英文啥意思
  • 网站编辑工作好做吗WordPress的图片存在哪
  • 你的网站尚未进行备案为什么网站百度搜不到了
  • 沙洋网站开发网站建设方案免费
  • iis建设网站教程单页面推广网站
  • 东莞网站建设效果郑州企业自助建站系统
  • php做的购物网站系统下载宜州做网站需要多少钱
  • 昆明网上商城网站建设怎么做网站教程视频
  • 网站开发都需要什么移动公司网络维护待遇
  • 计算机网络技术网站建设方向wordpress虚拟货币
  • 小江网站建设公司紧急页面通知升级中访问大通知
  • 那个公司做的网站详情页好看做动态图片的网站吗
  • 旅游网站模板文章wordpress 删除
  • 沛县专业做网站wordpress id重置密码
  • 湖南邵阳建设局网站做外贸一般用什么网站