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

做短连接的网站广东公司搜索seo哪家强

做短连接的网站,广东公司搜索seo哪家强,wordpress 相册 插件,服务专业的公司网站设计文章目录 一、题目二、C# 题解 一、题目 堆盘子。设想有一堆盘子,堆太高可能会倒下来。因此,在现实生活中,盘子堆到一定高度时,我们就会另外堆一堆盘子。请实现数据结构 SetOfStacks,模拟这种行为。SetOfStacks 应该由…

文章目录

  • 一、题目
  • 二、C# 题解

一、题目

  堆盘子。设想有一堆盘子,堆太高可能会倒下来。因此,在现实生活中,盘子堆到一定高度时,我们就会另外堆一堆盘子。请实现数据结构 SetOfStacks,模拟这种行为。SetOfStacks 应该由多个栈组成,并且在前一个栈填满时新建一个栈。此外,SetOfStacks.push()SetOfStacks.pop() 应该与普通栈的操作方法相同(也就是说,pop()返回的值,应该跟只有一个栈时的情况一样)。 进阶:实现一个 popAt(int index) 方法,根据指定的子栈,执行pop操作。

  当某个栈为空时,应当删除该栈。当栈中没有元素或不存在该栈时,poppopAt 应返回 -1.

  点击此处跳转题目。

示例1:

输入:
[“StackOfPlates”, “push”, “push”, “popAt”, “pop”, “pop”]
[[1], [1], [2], [1], [], []]
输出:
[null, null, null, 2, 1, -1]

示例2:

输入:
[“StackOfPlates”, “push”, “push”, “push”, “popAt”, “popAt”, “popAt”]
[[2], [1], [2], [3], [0], [0], [0]]
输出:
[null, null, null, null, 2, 1, 3]

二、C# 题解

  这题不难,但是很繁琐。尤其是题目没有说明清楚,不仅不给出数据规模,而且还会出现栈的大小为 0 的情况,真是绷不住了。当中间栈有元素弹出时,后面的元素并不前移,这点题目也没说,也是挺离谱的。

public class StackOfPlates {private class Node {public int val = 0; // 若作为头结点,则表示该链表串联的元素个数public Node next = null;public Node(int v, Node n) {val = v;next = n;}}private Node[] stack;                   // 头结点数组,每个结点连接一个链表,表示一个栈private int MAX_CAP, p = -1;            // MAX_CAP 表示每个栈最多有几个盘子,p 用于指向当前栈private static int MAX_STACK_NUM = 999; // 栈的最大个数public StackOfPlates(int cap) {MAX_CAP = cap;stack = new Node[MAX_STACK_NUM];}public void Push(int val) {// 前置判断条件:不给放盘子或者栈达到最大个数if (MAX_CAP == 0 || p == MAX_STACK_NUM - 1 && stack[p].val == MAX_CAP) return; // 如果 p 为 -1 或当前栈满,则激活新栈if (p == -1 || stack[p].val == MAX_CAP) stack[++p] = new Node(0, null); // 压入元素stack[p].next = new Node(val, stack[p].next);stack[p].val++;}public int Pop() {// 前置判断条件:不给放盘子或者没有栈if (MAX_CAP == 0 || p == -1) return -1; // 弹出元素int result = stack[p].next.val;stack[p].next = stack[p].next.next;stack[p].val--;// 如果当前栈满,则指针前移if (stack[p].val == 0) stack[p--] = null;return result;}public int PopAt(int index) {// 前置判断条件:不给放盘子或没有栈if (MAX_CAP == 0 || stack[index] == null) return -1;// 弹出元素int result = stack[index].next.val;stack[index].next = stack[index].next.next;stack[index].val--;// 移除后栈为空,则将后面的栈前移if (stack[index].val == 0) {for (int i = index; i < p; i++) {stack[i].next = stack[i + 1].next;stack[i].val = stack[i + 1].val;stack[i + 1].next = null;}stack[p--] = null;}return result;}
}/*** Your StackOfPlates object will be instantiated and called as such:* StackOfPlates obj = new StackOfPlates(cap);* obj.Push(val);* int param_2 = obj.Pop();* int param_3 = obj.PopAt(index);*/
  • 时间复杂度: O ( 1 ) O(1) O(1)
  • 空间复杂度: O ( n ) O(n) O(n)
http://www.sczhlp.com/news/33897/

相关文章:

  • 效果图在线网网站seo哪里做的好
  • 除了wordpress还有什么可以建站网络营销推广合同
  • 智库网站建设有哪些平台可以发布推广信息
  • 周口网站建设哪家好阿里指数官方网站
  • 公明做企业网站舆情网站
  • 关于校园网站设计的毕业论文关键词优化包年推广
  • 无锡网站推广公司排名国家卫健委最新疫情报告
  • 做平台的网站有哪些内容吗百度校招
  • 小榄公司网站建设创意营销案例
  • 大模型推理加速策略分析
  • 有什么可以做cad赚钱的网站需要留电话号码的广告
  • 网站建设工作整改报告什么是seo搜索
  • 网络营销的含义和特点电脑优化软件哪个好用
  • 阿里云wordpress搭建网站第一推广网
  • iis做本地视频网站深圳网络推广公司有哪些
  • 网站架构设计师工资水平百度竞价开户3000
  • 做网站颜色类型是啥广告公司取名字参考大全
  • 做任务赚q红包的网站互联网媒体广告公司
  • 网站开发公司怎么选择网站服务器多少钱一年
  • 动效h5网站产品软文是什么
  • wordpress 主题 ftp郑州seo技术
  • 网站优化之站外优化技巧山东省住房和城乡建设厅
  • 天津网站制作维护自动化测试培训机构哪个好
  • 网站建设 是否计入固定资产seo关键词排名怎么优化
  • 长沙专业网站设计公司深圳全网营销平台排名
  • 做公司网站用哪个公司比较好推介网
  • 做网站 (公司)seo网站推广经理
  • 网站过度优化海淀区seo搜索引擎
  • 做视频网站为什么费钱石家庄网络推广平台
  • 什么是域名解析seo网站优化详解