我目前使用的vim是7.3版本.
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 14 2016 16:06:49)
Compiled by root@apple.com
Run Code Online (Sandbox Code Playgroud)
我试图通过命令将vim更新为8.0:
git clone https://github.com/vim/vim.git
cd vim/src
make
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.它仍然是vim 7.3.
我只是编程的初学者.uf是一个union-find类,其方法union连接两个节点的根.如果打开任何邻居,这段代码负责打开网格的站点并将站点与其邻居联合.如果其中一个邻居已满,则填写与该站点连接的所有节点.这是实际的代码:
if(i == 1){
uf.union(len*len, xyTo1D(i,j));
if(existAndOpen(i+1,j)){
uf2.union(xyTo1D(i+1,j), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i+1,j));
}
if(existAndOpen(i-1,j)){
uf2.union(xyTo1D(i-1,j), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i-1,j));
}
if(existAndOpen(i,j-1)){
uf2.union(xyTo1D(i,j-1), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i,j-1));
}
if(!(j == len && i == len)){
if(existAndOpen(i,j+1)){
uf2.union(xyTo1D(i,j+1), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i,j+1));
}
}
}
else{
if(existAndFull(i+1,j)){
uf2.union(xyTo1D(i+1,j), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i+1,j));
}
if(existAndFull(i-1,j)){
uf2.union(xyTo1D(i-1,j), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i-1,j));
}
if(existAndFull(i,j-1)){
uf2.union(xyTo1D(i,j-1), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i,j-1));
}
if(!(j== len && i == len)){
if(existAndFull(i,j+1)){
uf2.union(xyTo1D(i,j+1), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i,j+1));
}
}
if(existAndOpen(i+1,j)){
uf.union(xyTo1D(i,j), xyTo1D(i+1,j));
}
if(existAndOpen(i-1,j)){
uf.union(xyTo1D(i,j), xyTo1D(i-1,j));
}
if(existAndOpen(i,j-1)){ …Run Code Online (Sandbox Code Playgroud) import numpy as np
from datetime import datetime
import math
def norm(l):
s = 0
for i in l:
s += i**2
return math.sqrt(s)
def foo(a, b, f):
l = range(a)
s = datetime.now()
for i in range(b):
f(l)
e = datetime.now()
return e-s
foo(10**4, 10**5, norm)
foo(10**4, 10**5, np.linalg.norm)
foo(10**2, 10**7, norm)
foo(10**2, 10**7, np.linalg.norm)
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
0:00:43.156278
0:00:23.923239
0:00:44.184835
0:01:00.343875
Run Code Online (Sandbox Code Playgroud)
似乎当np.linalg.norm多次调用小尺寸数据时,它的运行速度比我的标准函数慢。
其原因何在?
这是我的.tmux.conf
set-option -g prefix C-\
bind-key C-p select-pane -U
bind-key C-n select-pane -D
bind-key C-b select-pane -L
bind-key C-f select-pane -R
Run Code Online (Sandbox Code Playgroud)
我想要的是绑定C-\ C-b切换到左窗格、C-\ C-f切换到右窗格等等。但是当我启动 tmux 时
我收到了消息。
知道怎么做吗?.tmux.conf:2: usage: set-option [-agosquw] [-t target-session|target-window] option [value]
我创建了一个包含多个源文件和头文件的C++项目.该程序在代码块中编译和运行良好,但我无法在终端中编译它.
所有文件都在同一个文件夹中.
这是我输入的命令:
clang++ -std=c++11 main.cpp file1.cpp file1.h
Run Code Online (Sandbox Code Playgroud)
表明:
clang: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated
Run Code Online (Sandbox Code Playgroud)
还有一大堆错误:
error: use of undeclared identifier 'std'
Run Code Online (Sandbox Code Playgroud)
在头文件中.
我知道 Comparable 是一个接口,但我看到了一些代码,例如ArrayList<Comparable>, public Comparable f(), public void f(Comparable a)。似乎 Comparable 是一个类。上面这些代码是如何实现的?
import java.util.*;
public class MinHeap
{
public MinHeap()
{
elements = new ArrayList<Comparable>();
elements.add(null);
}
....
}
public class BinarySearchTree
{
...
public void add(Comparable obj)
{
Node newNode = new Node();
newNode.data = obj;
newNode.left = null;
newNode.right = null;
if (root == null) root = newNode;
else root.addNode(newNode);
}
...
}
Run Code Online (Sandbox Code Playgroud) java ×2
c++ ×1
c++11 ×1
codeblocks ×1
comparable ×1
numpy ×1
performance ×1
python ×1
terminal ×1
tmux ×1
vim ×1