小编Raj*_*pal的帖子

什么是分段错误?

什么是分段错误?C和C++有什么不同吗?分段错误和悬空指针是如何相关的?

c c++ segmentation-fault

530
推荐指数
9
解决办法
55万
查看次数

什么是堆栈展开?

什么是堆栈展开?通过搜索但找不到启发性的答案!

c++ stack

186
推荐指数
9
解决办法
8万
查看次数

找到N×N二进制矩阵中仅包含零的最大矩形

给定NxN二进制矩阵(仅包含0或1),我们如何才能找到包含全0的最大矩形?

例:

      I
    0 0 0 0 1 0
    0 0 1 0 0 1
II->0 0 0 0 0 0
    1 0 0 0 0 0
    0 0 0 0 0 1 <--IV
    0 0 1 0 0 0
            IV 
Run Code Online (Sandbox Code Playgroud)

对于上面的例子,它是一个6×6的二进制矩阵.在这种情况下,返回值将是单元格1:(2,1)和单元格2:(4,4).得到的子矩阵可以是正方形或矩形.返回值也可以是所有0的最大子矩阵的大小,在该示例中为3×4.

arrays algorithm

73
推荐指数
4
解决办法
5万
查看次数

如何找到一串括号,大括号和方括号的有效性?

我最近接触到了这个有趣的问题.您将获得只包含字符的字符串'(',')','{','}','['']',例如"[{()}]",你需要写这将检查这些输入字符串的有效性的函数,函数可能是这样的:
bool isValid(char* s);
这些支架必须关闭以正确的顺序,例如"()""()[]{}"都是有效的,但是"(]","([)]"并且"{{{{"都没有!

我推出了以下O(n)时间和O(n)空间复杂度解决方案,它工作正常:

  1. 保持一堆字符.
  2. 无论何时找到开口支撑'(','{''['将其推到堆叠上.
  3. 每当你找到关闭括号时')','}'OR ']',检查堆栈顶部是否是相应的开括号,如果是,则弹出堆栈,否则打破循环并返回false.
  4. 重复步骤2 - 3直到字符串结束.

这是有效的,但我们可以优化空间,可以是恒定的额外空间,我知道时间复杂度不能小于O(n),因为我们必须看每个角色.

所以我的问题是我们可以在O(1)空间中解决这个问题吗?

string algorithm

47
推荐指数
3
解决办法
6万
查看次数

当我在NULL对象指针上调用成员函数时会发生什么?

我接受了以下面试问题:

class A
{
public:
    void fun()
    {
        std::cout << "fun" << std::endl;
    }
};

A* a = NULL;
a->fun();
Run Code Online (Sandbox Code Playgroud)

执行此代码时会发生什么,为什么?


也可以看看:

c++

44
推荐指数
6
解决办法
9450
查看次数

如何找到包含给定字符串中所有字符的最小子字符串?

我最近遇到了一个关于字符串的有趣问题.假设您有以下内容:

Input string1: "this is a test string"
Input string2: "tist"
Output string: "t stri"
Run Code Online (Sandbox Code Playgroud)

因此,如上所述,我如何找到包含字符串2中所有字符的string1的最小子字符串?

string algorithm substring

39
推荐指数
3
解决办法
5万
查看次数

找到最长的子字符串而不重复字符

给定string Slength N找到最长子不重复的字符.

例:

输入: "stackoverflow"

输出: "stackoverfl"

如果有两个这样的候选人,请先从左边返回.我需要线性时间和恒定空间算法.

string algorithm

25
推荐指数
3
解决办法
4万
查看次数

为什么解除引用空指针是未定义的行为?

根据ISO C++,取消引用空指针是未定义的行为.我的好奇心是,为什么?为什么标准决定声明它未定义的行为?这个决定背后的理由是什么?编译器依赖?似乎没有,因为根据C99标准,据我所知,它是明确定义的.机器依赖?有任何想法吗?

c++ pointers undefined-behavior

22
推荐指数
5
解决办法
9066
查看次数

指针数组 - 外部问题

文件1.c.

int a[10];
Run Code Online (Sandbox Code Playgroud)

文件main.c:

extern int *a;

int main()
{
    printf("%d\n", a[0]);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

给我一个段错误!出了什么问题?

c arrays pointers extern segmentation-fault

20
推荐指数
2
解决办法
4981
查看次数

为什么我不能创建一个自动变量数组?

在C++ 0x(哦!读取C++ 11)中,我们有自动类型推断.令我好奇的一件事是我无法创建一系列自动变量.例如:

auto A[] = {1, 2, 3, 4}; // Error!
Run Code Online (Sandbox Code Playgroud)

有什么想法可能被禁止了吗?

c++ declaration c++11

14
推荐指数
2
解决办法
3088
查看次数