头像

Dream_zsh




离线:11小时前


最近来访(36)
用户头像
有马公生
用户头像
陌上花开Charlie
用户头像
JcWing
用户头像
Yusorai
用户头像
163.com
用户头像
小猪快跑ya
用户头像
太雪菜
用户头像
acw_rita
用户头像
orange0912
用户头像
Swan_0
用户头像
DPH
用户头像
萨摩耶
用户头像
a.b.c123
用户头像
Uncle
用户头像
Horseman
用户头像
啦_7
用户头像
Peter_5
用户头像
夏花花花花花

活动打卡代码 工程课 Linux-7.8. homework_8

Dream_zsh
23小时前

进入homework_8文件夹。

[1] 压缩文件

当前文件夹下的 dir_a 压缩成 project_a.tar.gz

tar -zcvf project_a.tar.gz dir_a/*   把后面参数的东西打包进入前面参数

[2] 解压文件

把当前文件夹下的project_b.tar.gz 解压到当前目录

tar -zxvf project_b.tar.gz -C ./    把前面的参数东西解压到后面的参数   -C 添加路径


活动打卡代码 工程课 Linux-7.7. homework_7

Dream_zsh
23小时前
进入homework 7

md5sum scores.txt | cut -c 1-32 >>ans.txt

cut -d 是分隔 -c 是输出字符



活动打卡代码 工程课 Linux-7.6. homework_6

Dream_zsh
23小时前
把文件的内容前后行输出

head -5 socre.txt >>top.txt
tail -4 score.txt >>bottom.txt


活动打卡代码 工程课 Linux-7.5. homework_5

Dream_zsh
23小时前
cat scores.txt | cut -d " " -f 1 | sort  >>names.txt


活动打卡代码 工程课 Linux-7.4. homework_4

Dream_zsh
23小时前

homework 4

cat scores.txt | cut -d ' ' -f 1 > names.txt
cat scores.txt | cut -d ' ' -f 2 > mathematics.txt
cat scores.txt | cut -d ' ' -f 3 > algorithm.txt


活动打卡代码 工程课 Linux-7.3. homework_3

Dream_zsh
23小时前

进入homework_3文件夹。

find . -name '*.py' | xargs rm


活动打卡代码 工程课 Linux-7.2. homework_2


[1] 统计当前目录下cpp文件总行数
find . -name '*.cpp' | xargs cat | wc -l > ans1.txt
[2] 统计py文件包含thrift字符串的总行数
find . -name '*.py' | xargs cat | grep thrift | wc -l > ans2.txt



题目链接


算法DFS

DFS:
从根结点开始遍历
记录 一下最大的层数 如果当前层是最深 更新maxdep
对于同一层记录当前层的结点值和 用d[depth]存储
如果 左/右 结点存在 递归处理

最后返回 d[maxdep] 注意这里maxdep加了引用

C++ 代码

class Solution {
public:
    int d[10004];
    void dfs(TreeNode* root,int depth,int & maxdep)
    {
        if(depth>maxdep) 
            maxdep=depth;

        d[depth]+=root->val;

        if(root->left)
            dfs(root->left,depth+1,maxdep);
        if(root->right)
            dfs(root->right,depth+1,maxdep);
    }
    int deepestLeavesSum(TreeNode* root) {
        int depth=1,maxdep=0;

        dfs(root,depth,maxdep);

        return d[maxdep];
    }
};




class Solution {
public:
    int d[10004];
    void deep(TreeNode* root,int depth,int & maxdep)
    {
        if(depth>maxdep) 
            maxdep=depth;

        d[depth]+=root->val;

        if(root->left)
            deep(root->left,depth+1,maxdep);
        if(root->right)
            deep(root->right,depth+1,maxdep);
    }
    int deepestLeavesSum(TreeNode* root) {
        int depth=1,maxdep=0;

        deep(root,depth,maxdep);

        return d[maxdep];
    }
};



题目链接


算法模拟

首先 数组大小 开到 N+1 字符串全为空值
对于每插入一个数 先把该数加入集合

判断是否当前的ptr 空
  1. 空 则返回空集合
  2. 否则 移动ptr指针直到中间某个为空值的位置或者数组最后 ptr=n+1

满足条件的也就是 当ptr<a.size()&&a[ptr]!="" ptr位置没有越界并且不为空值

C++ 代码

class OrderedStream {
public:
    vector<string>a;
    int ptr=0;
    OrderedStream(int n) {
        a.resize(n+2); //这个地方数组开到 n+1 为空
        ptr=1;
    }

    vector<string> insert(int idKey, string value) {
        vector<string>b;
        a[idKey]=value;      //先将数值加进去
        if(ptr!=idKey) return b;
        for(;ptr<=a.size()&&a[ptr]!="";ptr++) //到N+1的时候为空
            b.push_back(a[ptr]);  

        return b;
    }
};