最近我参加了一个黑客马拉松,我开始了解一个试图在2d矩阵中找到网格形式的问题.一个模式可能是U,H和T,并将用3*3矩阵表示如果我想呈现H和U.
+--+--+--+ +--+--+--+
|1 |0 |1 | |1 |0 |1 |
+--+--+--+ +--+--+--+
|1 |1 |1 | --> H |1 |0 |1 | -> U
+--+--+--+ +--+--+--+
|1 |0 |1 | |1 |1 |1 |
+--+--+--+ +--+--+--+
Run Code Online (Sandbox Code Playgroud)
现在我需要搜索到10*10 matrix containing 0s and 1s.Closest和唯一的解决方案我可以得到它的强力算法O(n ^ 4).在MATLAB和R这样的语言中有非常微妙的方法来做到这一点但不是在C,C++中.我尝试了很多在谷歌和SO上搜索这个解决方案.但我最接近的是这个SO POST,它讨论了实现Rabin-Karp字符串搜索算法.但是没有伪代码或任何帖子解释这个.可以任何人帮忙或者提供任何链接,pdf或一些逻辑来简化这个?
编辑
作为Eugene Sh.评论说如果N是大矩阵(NxN)的大小而k是小矩阵(kxk),则buteforce算法应该取O((Nk)^ 2).由于k是固定的,它减少到O(N ^ 2).是绝对正确的.但如果N和K很大,有没有任何一般化的方法?
最近我在一次采访中被问到全局寄存器变量.我搞砸了说任何全局变量都将存储在数据段中.但后来我被问及GCC.在采访后我得出结论gcc支持全局寄存器变量.
#include<stdio.h>
register int var asm("ebx"); //storing global variable in register explicitly
int main(void)
{
.......
}
Run Code Online (Sandbox Code Playgroud)
这是链接 https://gcc.gnu.org/onlinedocs/gcc/Global-Reg-Vars.html#Global-Reg-Vars
但现在我对它的生命周期和范围感到困惑,它是否会作为普通的全局变量或寄存器变量工作?gcc上还有任何方法或命令,以便我们确保编译器不会简单地忽略register关键字并将存储在实际的寄存器中吗?
我试图找到很多,如果只有一个类在多重继承中变成虚拟的话?在这种情况下,构造函数调用的行为对我来说并不清楚.比如说代码 -
#include<iostream>
using namespace std;
class grand{
public:
grand(){cout<<"grandfather"<<endl;}
};
class parent1:virtual public grand{ //virtual used only here
public:
parent1(){cout<<"parent1 "<<endl;}
};
class parent2: public grand{
public:
parent2(){cout<<"parent2"<<endl;}
};
class child:public parent1,public parent2{
public:
child(){cout<<"child"<<endl;}
};
int main() {
child s;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
此代码的输出如下
grandfather
parent1
grandfather
parent2
child
Run Code Online (Sandbox Code Playgroud)
但是在上面的代码中如果我们改变这个
class parent1:virtual public grand{
public:
parent1(){cout<<"parent1 "<<endl;}
};
class parent2: public grand{
public:
parent2(){cout<<"parent2"<<endl;}
};
Run Code Online (Sandbox Code Playgroud)
对此
class parent1:public grand{ //virtual removed from here
public:
parent1(){cout<<"parent1 "<<endl;} …Run Code Online (Sandbox Code Playgroud) 我正在开发chrome和safari的扩展程序。此应用程序的一个步骤是获取所有已安装的扩展程序。是否有任何可以提供已安装扩展程序列表的safari或chrome api?在Safari浏览器中安装了扩展程序,~/Library/Safari/Extensions/Extensions.plist但我找不到任何相关的api。
javascript safari google-chrome google-chrome-extension safari-extension