Cracking The Coding Interview 3.2

2023-11-30 19:39
文章标签 3.2 coding interview cracking

本文主要是介绍Cracking The Coding Interview 3.2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//How would you design a stack which, in addition to push and pop, also has a function min which returns the minimum element? Push, pop and min should all operate in O(1) time.//使用一个链表来记录最小值的index 
#include <iostream>
using namespace std;
#define MAXSIZE 100
#define INIT -888888class mStack
{
public:mStack(){top = -1;mi = new min;mi->data = 0;mi->nextMin = NULL;for (int i =0 ;i<100; i++){data[i] = INIT;}}int pop(){if (top > -1){if (top == mi->data){min *t = mi;mi = mi->nextMin;delete t;}int c= data[top];data [top] = INIT;top --;return c;}elsereturn -2;}bool push(int e){if (top<MAXSIZE-1){top++;data[top] = e;if (data[mi->data] > data[top] && data[top]!= INIT){min *t = new min;t->data = top;t->nextMin = mi;mi = t;}return true;}else{return false;}}int getmin(){return data[mi->data];}private:int data[MAXSIZE];int top;struct min{int data;min *nextMin;};min *mi;};int main()
{mStack s;for (int i=0;i<10;i++){s.push(10-i);}s.pop();s.pop();cout<<s.getmin()<<endl;return 0;
}


这篇关于Cracking The Coding Interview 3.2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438295

相关文章

【算法:二分查找】java算法二分查找,如何通过二分查找找到重复元素的第一个,coding

二分查找算法,是基于有序的结果集进行查询的 二分查找的时间复杂度是O(logN) 写一段二分查询的代码: public static void main(String[] args) {int[] data = new int[]{1, 2, 3, 3, 5, 5, 6, 8, 9, 9, 10};int queryData = 5;int index = queryDataIndex(qu

[3.2] 机器人连杆变换和运动学方程

本节首先推导相邻两连杆坐标系之间的变换矩阵,然后将这些变换矩阵依次相乘,得到操作臂的运动学方程。该方程表示末端连杆相对于基座的位姿关系,是各关节变量的函数。 连杆坐标系{i}与{i-1}通过四个参数、、、联系起来,因此坐标系{i}相对于{i-1} 的齐次变换矩阵T,通常也是连

《第一行代码》3.2View测量 笔记

1.View测量 如果我们要想绘制一个图形,首先我们要知道这个图形的大小;再是这个图形具体在什么位置;最后将图形绘制出来。 onMeasure() 如果我们想知道这个图形的大小,必须通过onMeasure()方法来发帮助我们测量View,MeasureSpec是以个32位的int值,其中高2位为测量模式,低30为测量的大小,在计算中使用位运算原因是为了提高并优化效率。

【计算机组成原理】3.2.2 只读存储器ROM

3.2.2 只读存储器ROM 00:00 各位同学大家好,在这个小节中我们要学习ROM芯片。上一小节中我们学习了两种具体的RAM芯片,分别是DRAM和SRAM。RAM芯片可以支持随机存取,读写速度会很快,但是它是一种易失性的存储芯片,也就是如果我们断电之后,RAM芯片里的数据就会消失。然而我们生活中很多数据在没有电的时候,我们也需要保证能够被保存。这一小节中我们会介绍几种类型的ROM芯片,分别

tthinkPHP 3.2.3版本图片验证码的问题解决方法

实例化Verify,生成验证码的方法 public function vcode(){         ob_clean();         $Verify = new \Think\Verify();           $Verify->fontSize = 14;           $Verify->length   = 4;           $Verify->useNoise

【计算机组成原理】3.2.0+3.2.3 主存储器的基本组成

3.2.0+3.2.3 主存储器的基本组成 00:00 各位同学大家好,在这个小节中我们会学习主存储器的基本组成。这个小节的内容本来是在王道书里的3.3那个小节,但是我们会把这部分的内容把它提到3.2之前来讲解。因为学习这个小节的内容,可以让大家能够对主存储器的基本原理能有一个宏观的认识,然后我们再回去学习3.2会更容易理解。 00:25 在这个视频中我们首先会学习使用半导体元器件来存储二

Cracking the Safe

原题链接:https://leetcode.cn/problems/cracking-the-safe/description/ 题目要求的是,某个时刻能够打开保险箱的任一最短密码序列,需要包含所有密码子串。 答案应当是一个字符串,任意长度为n的子串的都是一种密码方案。 对于有n位,每位k种方案的密码串,共有k^n个。 题目要求最短,那么任意位置选出的子串应当是不重复的。 也就是说,一个

《WEB开发-HEXO博客搭建》第4章 同步到Coding

笔者博客地址 1.注册Coding.net账号 Coding官网:https://coding.net/ 【注意】如果不想花钱的话要绑定腾讯云可以免费升级,笔者使用的是绑定腾讯云升级的。 图1 2.新建项目 注意项目名与注册用的账户名一致,这里我用的是ouxiaolong。 图2 图3 3.添加公钥 上面设置完毕之后点击创建项目,然后点击设置->部署公钥->新建

代码规范工具大比拼---Alibaba Java Coding Guidelines

代码规范工具大比拼---Alibaba Java Coding Guidelines   一,序言        对于代码规范的工具,市场上有很多很多, 我们常常说:”工欲善其事必先利其器”, 一个非常强大的代码检查工具, 能让很多代码实践者减少很多多不必要的小错误,尤其是对于一个团队来说,能较好的统一代码规则.   二,详情    1,Sonar

3.2K Star,一个极简主义个人网站

Hi,骚年,我是大 G,公众号「GitHub 指北」会推荐 GitHub 上有趣有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注。 今天推荐一个极简主义的个人网站,纸的纯净、雪的清新。 特点 🚀 SEO 100%,性能优秀:在 LightHouse 中表现优秀,性能 > 90%,最佳实践 > 90%。🎨UI 现代化,简洁而不简单:用户界面设计现代化,简洁而不简