Tag:

基本recursion,检查平衡括号

我已经编写了过去使用堆栈来检查平衡方程的软件,但是现在我被要求recursion地编写一个类似的algorithm来检查正确嵌套的括号和括号。 好例子:()[]()([]()[]) 不好的例子:((]([)] 假设我的函数被调用:isBalanced。 应该每次通过评估一个较小的子string(直到达到左边的基本情况)? 或者,我是否应该总是评估整个string并向内移动索引?

替代servicestack.redis

我做了一个package manager update-package命令来更新我们的项目到最新的二进制文件。 我几乎发布它,因为它通过了所有的testing,直到幸运地,我发现一个问题,需要更多的debugging。 当我突然看到这个例外信息时,我的嘴巴开了。 “每小时6000次Redis请求”的免费配额限制已经达到。 请参阅https://servicestack.net以升级到商业许可证。 如果我发布这个网站呢? 像这样的做法简直令人厌恶! 没有控制台警告或没有任何许可证。 这就像是一个“开源”特洛伊木马蔓延到您的项目。 有什么好的替代服务栈? 编辑:读所有评论我想我的第一反应是有点强。 Nuget自动从v3更新到v4,虽然我没有注意到任何突破的变化,但阅读发行说明将是正确的事情,而不是抨击一个好的产品。 话虽如此,但我认为人们会在这个例外上下工夫,因为6000个请求足以通过testing,发布这个是灾难性的。

为什么内联被认为比函数调用更快?

现在,我知道这是因为没有调用函数的开销,而是调用函数的开销真的很重(并且值得让它内联)。 从我记得,当一个函数被调用时,说f(x,y),x和y被压入堆栈,堆栈指针跳转到一个空的块,并开始执行。 我知道这是一个过分简单化,但我错过了什么? 一些推动和跳转来调用一个函数,真的有那么多的开销? 让我知道,如果我忘记了一些东西,谢谢!

ARM中的SP(堆栈)和LR是什么?

我一遍又一遍地阅读定义,我仍然不明白ARM中的SP和LR是什么? 我了解PC(它显示下一个指令的地址),SP和LR可能是相似的,但我只是不明白它是什么。 你可以帮我吗? 编辑:如果你可以用例子来解释,那将是非常棒的。 编辑:终于搞清楚什么是LR,仍然没有得到什么SP的。

为什么不在C ++中使用指针?

假设我定义了一些类: class Pixel { public: Pixel(){ x=0; y=0;}; int x; int y; } 然后使用它编写一些代码。 我为什么要做下面的事情? Pixel p; px = 2; py = 5; 来自Java世界,我总是写: Pixel* p = new Pixel(); p->x = 2; p->y = 5; 他们基本上做同样的事情,对吧? 一个在栈上,另一个在堆上,所以我将不得不删除它。 两者有什么根本的区别? 为什么我应该比另一个更喜欢?

Java数组如何在开始时添加元素

我需要将元素添加到ArrayList队列中,但是当我调用函数来添加元素时,我希望它在数组的开头添加元素(因此它具有最低的索引),并且如果数组有10个元素添加删除最旧元素(索引最高的元素)的新结果。 有没有人有什么build议?

Android:防止回到以前的活动

我想在Android上这样做:基本上当手机上按下“返回”button时,我想阻止特定活动返回到之前的状态。 具体来说,我有login和注册屏幕,当成功login/注册发生时,都会启动一个名为HomeScreen的新活动。 一旦HomeScreen启动,我想要防止用户能够返回login或按下BACK键注册屏幕。 我尝试使用Intent.FLAG_ACTIVITY_NO_HISTORY但由于应用程序已与Facebook集成,当使用Facebooklogin时,Facebook应该返回到初始login屏幕,因此我应该保持这些活动的历史。 当按下button并使用时,我想到HomeScreen上的BACKbutton的覆盖行为直接完成应用程序 @Override public void onBackPressed() { finish(); } 但是这也行不通。 我在Android开发中很新,所以任何帮助都会非常有用。 提前致谢。

使用比O(n)更高效的find-min / find-max进行堆栈?

我有兴趣创build一个类似于支持以下操作的堆栈的Java数据结构,尽可能高效: Push,在堆栈顶部添加一个新元素, Pop,删除堆栈的顶层元素, Find-Max,返回(但不删除)堆栈的最大元素 Find-Min,返回(但不删除)堆栈的最小元素 这个数据结构最快的实现是什么? 我怎样才能用Java编写它?

devise一个堆栈,使getMinimum()应该是O(1)

这是面试问题之一。 您需要devise一个包含整数值的堆栈,以便getMinimum()函数返回堆栈中的最小元素。 例如:考虑下面的例子 情况1 5 – > TOP 1 4 6 2 当调用getMinimum()时,它应该返回1,这是最小的元素 在堆栈中。 情况#2 stack.pop() stack.pop() 注:5和1都从堆栈中移出。 所以在这之后,堆栈 好像, 4 – > TOP 6 2 当getMinimum()被调用时,应该返回2,这是最小的 叠加。 制约性: getMinimum应返回O(1)中的最小值 在devise时还必须考虑空间约束,如果使用额外的空间,则空间应该是恒定的。

在C#中堆栈容量

有人能告诉我在C#中的堆栈容量是多less? 我正在尝试使用30,000个项目的数组形成一个三维网格closures的对象。