Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言)

**

题目:

**
给你一个目标数组 target 和一个整数 n。每次迭代,需要从 list = {1,2,3…, n} 中依序读取一个数字。

请使用下述操作来构建目标数组 target :

Push:从 list 中读取一个新元素, 并将其推入数组中。
Pop:删除数组中的最后一个元素。
如果目标数组构建完成,就停止读取更多元素。
题目数据保证目标数组严格递增,并且只包含 1 到 n 之间的数字。

请返回构建目标数组所用的操作序列。

题目数据保证答案是唯一的。

示例 1:

输入:target = [1,3], n = 3
输出:[“Push”,“Push”,“Pop”,“Push”]
解释:
读取 1 并自动推入数组 -> [1]
读取 2 并自动推入数组,然后删除它 -> [1]
读取 3 并自动推入数组 -> [1,3]
示例 2:

输入:target = [1,2,3], n = 3
输出:[“Push”,“Push”,“Push”]
示例 3:

输入:target = [1,2], n = 4
输出:[“Push”,“Push”]
解释:只需要读取前 2 个数字就可以停止。
示例 4:

输入:target = [2,3,4], n = 4
输出:[“Push”,“Pop”,“Push”,“Push”,“Push”]

提示:

1 <= target.length <= 100
1 <= target[i] <= 100
1 <= n <= 100
target 是严格递增的

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/build-an-array-with-stack-operations
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

python程序:

class Solution:def buildArray(self, target: List[int], n: int) -> List[str]:res = []j=0for i in range(1, target[-1]+1):if i == target[j]:res.append("Push")j+=1else:res.extend(["Push", "Pop"])# 虽然是利用的是栈的思想,但是并没有栈的操作return res

**

c++程序

class Solution {public:vector<string> buildArray(vector<int>& target, int n) {vector<string> res;int j=0;for(int i=1; i<=*(--target.end()); i++){if(i == target[j]){res.push_back("Push");j++;}else{res.push_back("Push");res.push_back("Pop");}}return res;}
};

**

利用dev-c++编译器编写c++程序:

#include<iostream>
#include<string>
using namespace std;
int main()
{int a[] = { 1,2,6 }, n = 7,l=0;char tmp[] = "",str1[]="h",str2[]="j";string k1="push,",k2="pop,",k0;for (int i =1,j=0; i <=a[  sizeof(a) / sizeof(a[0]) - 1]; i++) {if (i == a[j]){k0+=k1;j++;}else{k0 += k1;k0 +=k2;} }cout << k0 << endl;getchar();return 0;
}

在dev-c++上编译的结果:

Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言)相关推荐

  1. Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言)

    Leetcode刷题 232题:用栈实现队列(基于python3和c++两种语言) 题目: 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部. pop() – 从队列首部移除元 ...

  2. Leetcode刷题 155题: 最小栈(基于python3和c++两种语言)

    ** Leetcode刷题 155题: 最小栈(基于python3和c++两种语言) ** ** 题目: ** 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. ...

  3. Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言)

    ** Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言) ** 题目: 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top( ...

  4. 5404. 用栈操作构建数组

    2020-05-10 1.题目描述 用栈操作构建数组 2.题解 我们可以发现,由于元素是按照顺序进行操作的,所以我们直接可以看该元素是否在target数组中,如果 在的话,就直接push,不在的话就进 ...

  5. LeetCode简单题之用栈操作构建数组

    题目 给你一个目标数组 target 和一个整数 n.每次迭代,需要从 list = {1,2,3-, n} 中依序读取一个数字. 请使用下述操作来构建目标数组 target : Push:从 lis ...

  6. LeetCode 1441. 用栈操作构建数组

    1. 题目 给你一个目标数组 target 和一个整数 n. 每次迭代,需要从 list = {1,2,3-, n} 中依序读取一个数字. 请使用下述操作来构建目标数组 target : Push:从 ...

  7. 无刷直流电机MATLAB仿真,基于有感无感两种方式 无刷直流电机霍尔换相建模

    无刷直流电机MATLAB仿真,基于有感无感两种方式 无刷直流电机霍尔换相建模 无刷直流电机反电动势过零检测建模 通过有传感器与无传感器两种方式搭建的电机matlab仿真 ID:511067340757 ...

  8. js操作元素:改变元素内容有两种方式: interText 和 innerHTML的区别, 常用的元素的属性操作, 仿电脑系统时间问好 ,表单元素的属性操作 ,案例:仿京东显示隐藏密码 ,样式属性操作

    文章目录 操作元素 改变元素内容有两种方式: interText 和 innerHTML的区别 常用的元素的属性操作 案例:仿电脑系统时间问好 表单元素的属性操作 案例:仿京东显示隐藏密码 样式属性操 ...

  9. 拼题---求链式线性表的倒数第K项(两种算法的比较)

    7-17 求链式线性表的倒数第K项 (20 分) 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表 ...

最新文章

  1. TCP连接建立与终止,及状态转换
  2. 【CyberSecurityLearning 33】Nginx和Tomcat服务的搭建、Nginx负载均衡
  3. 基于Spring-Data-Redis存储JavaBean对象
  4. CSS 滤镜学习小结
  5. JVM性能调优监控工具
  6. freebsd下fcgi程序例子
  7. 使用双向链表构建二叉树_LeetCode-109 有序链表转换二叉搜索树
  8. python tfidf特征变换_2 python 文本特征提取 CountVectorizer, TfidfVectorizer
  9. 头条号个人中心登录_注册登录系统
  10. 什么是黑盒测试,白盒测试,灰盒测试?
  11. 用命令如何返回上级目录
  12. WiFi通信字节乱码问题的产生原因及解决方法
  13. Python While循环与break语句_加工零件
  14. linux中怎么查看stopped进程,Linux下如何查杀stopped进程详解
  15. 小谈应该如何对抗网络小说
  16. ResponseBody详解
  17. [InteliJ IDEA] 系统资源不足
  18. 物联网技术概论:1~7章汇总(西安交通大学)
  19. 怎样使用计算机的桌面助手,电脑桌面能使用mimikkoui吗?虚拟助手二次元桌面使用教程...
  20. Python心经(1)

热门文章

  1. 用VSCode写python的正确姿势
  2. JavaScript toFixed() 方法
  3. 太酷炫了,我用 Python 画出了北上广深的地铁路线动态图
  4. C语言关闭文件总是错误,C语言程序错误,不能正常读写文件,求解啊
  5. 高速缓冲DNS相关配置详情
  6. linux烧录,新人求教,怎么烧录Linux系统到一个小芯片上?
  7. java 并行多线程素数,多线程求求1000万内的质数数量
  8. 7.0系统设备xposed框架激活经验
  9. Math.round(11.5)等于多少? Math.round(-11.5)等于多少?
  10. python入门之函数调用内置函数_第九篇 python基础之函数,递归,内置函数