dvorak4tzx

dvorak4tzx 查看完整档案

武汉编辑武汉大学  |  测绘工程 编辑  |  填写所在公司/组织 tangzx.qiniudn.com 编辑
编辑

问题描述不清的,我愿意帮助补充;
问题乱加 tag 的,我要点 down vote;
我也愿意修改别人的回答,而不是总新写一个答案。

(我想,这是我为社区做的一点贡献。^_^)

Calm down. (to myself)

我还是不要在这里浪费时间了。

个人动态

dvorak4tzx 回答了问题 · 2016-09-26

二叉树的高度

这个……我笔试的时候碰到这个题了……(忘了是小米还是滴滴出行)直接上源码吧……

#include <iostream>
#include <vector>
#include <set>
#include <cstdio>

using namespace std;

int height(int root, vector<int> &lch, vector<int> &rch) {
    int n = lch.size();
    if (root < 0 || root >= n) { return -1; }
    if (lch[root] < 0 && rch[root] < 0) { return 1; }
    if (lch[root] < 0 || rch[root] < 0) {
        if (lch[root] >= 0) { return 1+height(lch[root], lch, rch); }
        if (rch[root] >= 0) { return 1+height(rch[root], lch, rch); }
    }
    return max(height(lch[root], lch, rch), height(rch[root], lch, rch)) + 1;
}

int main() {
    int n;
    while (1 == scanf("%d", &n)) {
        vector<int> lch(n, -1), rch(n, -1);
        set<int> ps, cs;
        for (int i = 0; i < n - 1; ++i) {
            int p, c;
            scanf("%d %d", &p, &c);
            ps.insert(p); cs.insert(c);
            if (lch[p] < 0) { lch[p] = c; continue; }
            if (rch[p] < 0) { rch[p] = c; continue; }
        }

        int root = -1;
        for (auto p : ps) {
            if (!cs.count(p)) {
                root = p;
                break;
            }
        }
        cout << height(root, lch, rch) << "\n";
    }
}

笔试的时候是通过的。

关注 6 回答 4

dvorak4tzx 赞了回答 · 2016-09-20

为什么这段代码在C和C++下编译结果不一样?

c99标准里

4 All the expressions in an initializer for an object that has static storage duration shall be constant expressions or string literals.

关注 2 回答 1

dvorak4tzx 赞了回答 · 2016-08-31

解决jQuery选择器问题

$('.a').parents(':visible')

关注 3 回答 1

dvorak4tzx 回答了问题 · 2016-08-31

解决在C中,int *p的*p是什么类型?

& 这个符号在“修饰”【类型】和【变量】的时候意思不一样。

  • &a 是取 a 的地址

  • int &b = a 是定义一个变量,它是引用(注意这里不是 int &b = &a

关注 8 回答 7

dvorak4tzx 关注了问题 · 2016-08-31

解决在C中,int *p的*p是什么类型?

比如

int i=2, *p=&i;

在c++中,*p这个表达式的类型是int的引用即int &,而c中并没有引用这个概念,所以在c中*p的类型是什么?难道是int?如果是这样的话太搞了吧

关注 8 回答 7

dvorak4tzx 回答了问题 · 2016-08-23

解决c++移动构造函数什么时候会被调用?

#include <iostream>
#include <utility>

class X {
public:
    X( X&& item) {
        std::cout << 123 << std::endl;
    }

    X() = default;
};


int main() {
    X(X()); // X(std::move(X())); 这个会输出 123
}

copy assignment operator 应该这么写:

class X {
    X operator=( const X &rhs ) {
        // ...
    }
}

关注 5 回答 4

dvorak4tzx 关注了问题 · 2016-08-23

解决c++移动构造函数什么时候会被调用?

class x{
public:
    x( moveClass&& item) {
        std::cout << 123 << std::endl;
    }
    
    x() = default;
};


int main(){
    x(x());
}

如上的代码, 不应该输出123吗, 为什么什么都没有输出... 这种情况到底算调用了哪种构造方法.

关注 5 回答 4

dvorak4tzx 关注了问题 · 2016-08-22

解决c++如何查找一个文件目录下所有文件?

c++如何查找一个文件目录下所有文件?

关注 4 回答 3

dvorak4tzx 回答了问题 · 2016-08-22

解决c++如何查找一个文件目录下所有文件?

我以前也写过这个:district10/FindFilesWithinFolder: Find and generate a file list of the folder.

效果:

➜  build git:(master) ✗ ./FindFilesWithinFolder CMakeFiles
CMakeFiles/CMakeDirectoryInformation.cmake
CMakeFiles/Makefile2
CMakeFiles/progress.marks
CMakeFiles/TargetDirectories.txt
CMakeFiles/Makefile.cmake
CMakeFiles/cmake.check_cache
CMakeFiles/CMakeOutput.log
CMakeFiles/3.0.2/CMakeDetermineCompilerABI_CXX.bin
CMakeFiles/3.0.2/CMakeCCompiler.cmake
CMakeFiles/3.0.2/CMakeDetermineCompilerABI_C.bin
CMakeFiles/3.0.2/CMakeSystem.cmake
CMakeFiles/3.0.2/CMakeCXXCompiler.cmake
CMakeFiles/FindFilesWithinFolder.dir/link.txt
CMakeFiles/FindFilesWithinFolder.dir/main.cpp.o
CMakeFiles/FindFilesWithinFolder.dir/CXX.includecache
CMakeFiles/FindFilesWithinFolder.dir/cmake_clean.cmake
CMakeFiles/FindFilesWithinFolder.dir/DependInfo.cmake
CMakeFiles/FindFilesWithinFolder.dir/FindFiles.cpp.o
CMakeFiles/FindFilesWithinFolder.dir/depend.make
CMakeFiles/FindFilesWithinFolder.dir/depend.internal
CMakeFiles/FindFilesWithinFolder.dir/progress.make
CMakeFiles/FindFilesWithinFolder.dir/build.make
CMakeFiles/FindFilesWithinFolder.dir/flags.make
CMakeFiles/3.0.2/CompilerIdC/a.out
CMakeFiles/3.0.2/CompilerIdC/CMakeCCompilerId.c
CMakeFiles/3.0.2/CompilerIdCXX/CMakeCXXCompilerId.cpp
CMakeFiles/3.0.2/CompilerIdCXX/a.out

关注 4 回答 3

dvorak4tzx 赞了回答 · 2016-08-17

Cmake 做configure时,报错:No CMAKE_C_COMPILER could be found.

Configure中的VC++配置的版本不对,不是你机器上安装的那个版本。点击上面界面中的Configure 按钮进去修改一下,改为你安装的版本,没有安装就安一个。VS2012, VS2015在CMake 3.4上都支持。

如果不能进入Configure,在菜单中的File菜单中选择Delete Cache,就可以重新配置了。
我遇到过同样的问题,用上面方法解决了。特意注册了来说明一下,希望对你有所帮助。

关注 6 回答 5

认证与成就

  • 获得 20 次点赞
  • 获得 8 枚徽章 获得 0 枚金徽章, 获得 1 枚银徽章, 获得 7 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

  • 基于神经网络的路牌识别

    这原是《智能计算》课程大作业。使用 ANN-MLP(神经网络–多层感知器)方法,OpenCV Machine Learning 模块进行路牌的抠取、分类和识别。 代码由我完成,少量参考了 LI YinXuan 师姐的程序,并和 ZhaoPengCheng 讨论了 feature 的设计方案。详细见: http://tangzx.qiniudn.com/post-0072-cvann-mlp.html

注册于 2014-05-07
个人主页被 455 人浏览