lgqfhwy

lgqfhwy 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

lgqfhwy 提出了问题 · 2018-01-29

ssh无法连接到服务器

使用ssh无法登陆服务器,服务器是我刚买的砖瓦工,无论怎么重装系统还是不行,我能确定输入密码都是正确的。
我用的 Mac terminal, 服务器系统是centos6
整个系统登录对话及debug如下所示:

JackdeMacBook-Pro:~ lgq$ sudo ssh -p 26106 lgq@176.122.138.37
Password:
lgq@176.122.138.37's password: 
Permission denied, please try again.
lgq@176.122.138.37's password: 
Permission denied, please try again.
lgq@176.122.138.37's password: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
JackdeMacBook-Pro:~ lgq$ sudo ssh -v -p 26106 lgq@176.122.138.37
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 176.122.138.37 [176.122.138.37] port 26106.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: key_load_public: No such file or directory
debug1: identity file /var/root/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /var/root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /var/root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /var/root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /var/root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /var/root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /var/root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /var/root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
debug1: Authenticating to 176.122.138.37:26106 as 'lgq'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group-exchange-sha256
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-ctr MAC: umac-64@openssh.com compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: umac-64@openssh.com compression: none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(2048<3072<8192) sent
debug1: got SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: got SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: ssh-rsa SHA256:4XNDeQacNpoE+/4lvFL0vxKU+/lLMnCBGQ6CrftH3C0
debug1: Host '[176.122.138.37]:26106' is known and matches the RSA host key.
debug1: Found key in /var/root/.ssh/known_hosts:1
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Trying private key: /var/root/.ssh/id_rsa
debug1: Trying private key: /var/root/.ssh/id_dsa
debug1: Trying private key: /var/root/.ssh/id_ecdsa
debug1: Trying private key: /var/root/.ssh/id_ed25519
debug1: Next authentication method: password
lgq@176.122.138.37's password: 
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
Permission denied, please try again.
lgq@176.122.138.37's password: 
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
Permission denied, please try again.
lgq@176.122.138.37's password: 
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
JackdeMacBook-Pro:~ lgq$ 

最后再说一句,我能确定输入密码是正确的,但是老是出现不允许,不知道怎么回事,请各位帮忙看一下。

关注 4 回答 3

lgqfhwy 提出了问题 · 2017-08-28

how to Implement MSD string sorting using queues ?

见到一个题,无论如何也想不出来,网上搜竟然也没有。

Queue sort. Implement MSD string sorting using queues, as follows:
Keep one queue for each bin. On a first pass through the items to be
sorted, insert each item into the appropriate queue, according to its
leading character value. Then, sort the sublists and stitch together
all the queues to make a sorted whole. Note that this method does not
involve keeping the count[] arrays within the recursive method.

题目中说用了队列就不用count数组了,而且应该先把队列内的元素排序再拼接起来。我唯一能够想到的就是在每一个递归创建队列数组,递归排序。这样以来太浪费空间,要比使用count数组多了好几倍,我感觉这应该不是作者的本意。还有就是作者说

Then, sort the sublists and stitch together all the queues to make a
sorted whole.

如果不用递归,直接在队列内排序,那样时间复杂度直接上了O(nlgn), 就不是MSD的O(n)了,也应该是不合适的。
这个问题google, stackoverflow 上都没有。如果各位大神有好的想法请分享一下。
原题在 algorithm P727
图片描述

图片描述

关注 2 回答 0

lgqfhwy 赞了回答 · 2017-08-20

解决为什么在自己电脑上没问题,可OJ老是提示栈错误?

嗯,这是一个冷门的知识点

https://stackoverflow.com/que...

关注 3 回答 2

lgqfhwy 关注了用户 · 2017-08-20

hsfzxjy @hsfzxjy

Intern @ MSRA
大四 | exHFer | USTCer
Pythonista

关注 1214

lgqfhwy 关注了用户 · 2017-08-20

hsfzxjy @hsfzxjy

Intern @ MSRA
大四 | exHFer | USTCer
Pythonista

关注 1214

lgqfhwy 提出了问题 · 2017-08-20

解决为什么在自己电脑上没问题,可OJ老是提示栈错误?

我在自己的电脑上运行没有问题,可网站https://www.nowcoder.com/pat/...)老是说栈错误。
我已经改了无数次了,实在想不到哪里可以导致栈溢出,请指正
图片描述

// Recover the Smallest Number (30)
// https://www.nowcoder.com/pat/5/problem/4025
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
struct Str {
    char str[10];
};


void stringPlus(char a[], char b[], char result[]) {
    int len1 = strlen(a);
    for (int i = 0, k = 0; i < len1; ++i, ++k) {
        result[k] = a[i];
    }
    int len2 = strlen(b);
    for (int j = 0, k = len1; j < len2; ++j, ++k) {
        result[k] = b[j];
    }
    result[len1 + len2] = '\0';
}

bool cmpByString(Str a, Str b) {
    char stra[20];
    stringPlus(a.str, b.str, stra);
    if (strlen(stra) != (strlen(a.str) + strlen(b.str))) {
        printf("Error add");
    }
    char strb[20];
    stringPlus(b.str, a.str, strb);
    if (strlen(stra) != (strlen(a.str) + strlen(b.str))) {
        printf("Error add");
    }
    int len1 = strlen(stra);
    int len2 = strlen(strb);
    if ((len1 != len2) || (len1 > 16) || (len1 == 0)) {
        printf("Error len!\n");
    }
    for (int i = 0; i < len1; ++i) {
        if (stra[i] < strb[i]) {
            return true;
        } else if (stra[i] > strb[i]) {
            return false;
        }
    }

    return true;
}

Str Node[10010];

int main() {
    int N;
    scanf("%d", &N);
    for (int i = 0; i < N; ++i) {
        scanf("%s", Node[i].str);
    }
    sort(Node, Node + N, cmpByString);
    bool firstZero = true;
    for (int i = 0; i < N; ++i) {
        if (firstZero) {
            for (int j = 0; Node[i].str[j] != '\0'; ++j) {
                if ((Node[i].str[j] == '0') && firstZero) {
                    continue;
                } else {
                    firstZero = false;
                    printf("%c", Node[i].str[j]);
                }
            }
        } else {
            printf("%s", Node[i].str);
            firstZero = false;
        }
    }
    if (firstZero) {
        printf("0");
    }
    printf("\n");
    return 0;
}

关注 3 回答 2

lgqfhwy 提出了问题 · 2017-08-03

如何去掉这些多余的 note ?

我用的Mac, bash 下编译C++, 无论用clang还是g++, 即使只有一个错误,也会出现一长串的note,显的很乱,能不能帮帮我去掉这些note, 只显示错误。
图片描述

有回答说是使用 g++ -Wfatal-errors -w file
这样也不行:
图片描述

关注 3 回答 3

lgqfhwy 关注了用户 · 2017-07-18

Jacobz @jacobz_596116df28a58

关注 5

lgqfhwy 赞了回答 · 2017-07-18

解决如何在O(lg(n))内实现这些API ?

可以通过两个Symbol Table实现:

  1. 一颗扩展的BBT(Balanced Binary Tree),用来实现find ith element in the list efficiently

  2. 一个HT(Hash Table),以item为key,用来实现efficiently search by item


BBT的要求是,在每个node增加一个记录子树node数目的参数。进行indexing的时候根据子树大小进行二分查找(binary search),这样跟index相关的操作都是可以达到O(lgn)的。至于树具体为什么树没有要求,能有效平衡就行(比如红黑树,AVL,Splay都行),以保证O(lgn)的操作效率。实现上可以参考TreeList

HT的要求是,item为key,item对应在BBT中的结点为value。这样即可以实现快速查找item的index。实现上可以参考各大语言的HashTable实现。这个HT也可以用其他数据结构代替,只要是dictionary-like即可,只不过HT应该是效率最高的。


API列表实现细节(为了便于说明,原题中的i重命名为index)。时间复杂度标记在「」内。

  • addFront(item) : 调用add(0, item)O(lgn)

  • addBack(item) : 调用add(size()-1, item)O(lgn)

  • deleteFront() : 调用delete(0)O(lgn)

  • deleteBack() : 调用delete(size()-1)O(lgn)

  • delete(item) : 在HT中寻找item得到对应的node「O(1)」,根据node计算index「O(lgn)」,然后执行delete(index)「O(lgn)」。最后在HT中删掉item「O(1)」。

  • add(index, item) : 根据index在树中进行二分查找(如果左子树节点数>index就往左,<index就往右)「O(lgn)」,找到后在BBT和HT中进行插入「≤O(lgn)

  • delete(index) : 根据index在树中进行二分查找(同上),「O(lgn)」,找到后在BBT和HT中删除「≤O(lgn)

  • contains(item) : 在HT中进行查找「O(1)

  • isEmpty() : size()>0O(1)

  • size() : 返回HT的size「O(1)


记录子树node数目参数是为了用于二分查找,二分查找的过程用下图来描述一下,树以AVL形式为例。图中每个结点下面标的数字是该结点为根的子树中含有的node数目。如B为根的子树中含有的node为BADC,因此子树node数为4。下方的列表为元素在列表中的顺序,虚线表示HT建立的对应关系。

clipboard.png

查找这个List中的第四个元素(index=3)可以按照改图所示进行查找,lnum表示左子树结点数目:

  • 从根结点E出发,index<lnum=4,因此向左查找

  • 到达结点B,index>lnum=1,因此向右查找,并且更新indexindex-lnum-1,此处更新后的值为3-1-1=1

  • 到达结点D,index=lnum=1,完成查找


更加具体的实现细节请自行思考:

  • 这颗二叉树与二叉搜索树有什么不同?

  • 如何根据node计算item的index(例如,如何根据结点D计算出D在列表中为第四个元素)?「≤O(lgn)

  • 在插入和删除元素后如何更新子树结点数目?「≤O(lgn)

  • 在插入和删除元素后如何保证BBT平衡?「O(lgn)

(原创请勿转载)

关注 3 回答 2

lgqfhwy 提出了问题 · 2017-07-15

解决如何在O(lg(n))内实现这些API ?

原问题的[网址链接]1
http://algs4.cs.princeton.edu...

List. Implement the following list operations: size(), addFront(item),
addBack(item), delFront(item), delBack(item), contains(item),
delete(item), add(i, item), delete(i), iterator(). All operations
should be efficient (logarithmic). Hint: use two symbol tables, one to
find the ith element in the list efficiently, and the other to
efficiently search by item. Java's List interface contains these
methods, but does not supply any implementation that supports all ops
efficiently.

我觉得是不可能在O(lgn)内全部实现的。两个 symbol table. 一个(key = i (the index), value = Item), 另一个 (key = Item, value = i (the index). 这个快速查找倒是能在O(1)实现,java HashMap 一般为 O(1), 这是最好情况,但是删除的时候,比如删除第 i 个,就需要把所有大于 i 的节点都更新一遍(全都减1),这样就成了O(n)了,还有在最前面插入也是这样。不知道大家有什么好办法吗,谢谢大家帮助。
具体要求
图片描述

关注 3 回答 2

认证与成就

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

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2016-03-02
个人主页被 300 人浏览