一个完整的软件项目往往会包含很多由代码和文档组成的源文件。编译器在编译整个项目的时候,可能需要按照依赖关系来依次编译每个源文件。比如,A.cpp 依赖 B.cpp,那么在编译的时候,编译器需要先编译 B.cpp,才能再编译 A.cpp。 假设现有 0,1,2,3 四个文件,0号文件依赖1 号文件 ,1 号文件 依赖2 号文件 ,3 号文件 依赖1 号文件 ,则源文件的编译顺序为 2,1,0,3  或 2,1,3,0。现给出文件依赖关系,如 1,2,-1,1,表示0号文件依赖1号文件,1号文件依赖2号文件,2号文件没有依赖,3号文件依赖1号文件。请补充完整程序,返回正确的编译顺序。注意如有同时可以编译多个文件的情况,按数字升序返回一种情况即可,比如前述案例输出为:2,1,0,3-笔试面试资料

这是qklbishe.com第8393 篇笔试面试资料
提供答案分析,通过本文《一个完整的软件项目往往会包含很多由代码和文档组成的源文件。编译器在编译整个项目的时候,可能需要按照依赖关系来依次编译每个源文件。比如,A.cpp 依赖 B.cpp,那么在编译的时候,编译器需要先编译 B.cpp,才能再编译 A.cpp。 假设现有 0,1,2,3 四个文件,0号文件依赖1 号文件 ,1 号文件 依赖2 号文件 ,3 号文件 依赖1 号文件 ,则源文件的编译顺序为 2,1,0,3  或 2,1,3,0。现给出文件依赖关系,如 1,2,-1,1,表示0号文件依赖1号文件,1号文件依赖2号文件,2号文件没有依赖,3号文件依赖1号文件。请补充完整程序,返回正确的编译顺序。注意如有同时可以编译多个文件的情况,按数字升序返回一种情况即可,比如前述案例输出为:2,1,0,3-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

一个完整的软件项目往往会包含很多由代码和文档组成的源文件。编译器在编译整个项目的时候,可能需要按照依赖关系来依次编译每个源文件。比如,A.cpp 依赖 B.cpp,那么在编译的时候,编译器需要先编译 B.cpp,才能再编译 A.cpp。 假设现有 0,1,2,3 四个文件,0号文件依赖1号文件,1号文件依赖2号文件,3号文件依赖1号文件,则源文件的编译顺序为 2,1,0,3 或 2,1,3,0。现给出文件依赖关系,如 1,2,-1,1,表示0号文件依赖1号文件,1号文件依赖2号文件,2号文件没有依赖,3号文件依赖1号文件。请补充完整程序,返回正确的编译顺序。注意如有同时可以编译多个文件的情况,按数字升序返回一种情况即可,比如前述案例输出为:2,1,0,3

一个完整的软件项目往往会包含很多由代码和文档组成的源文件。编译器在编译整个项目的时候,可能需要按照依赖关系来依次编译每个源文件。比如,A.cpp 依赖 B.cpp,那么在编译的时候,编译器需要先编译 B.cpp,才能再编译 A.cpp。 假设现有 0,1,2,3 四个文件,0号文件依赖1 号文件 ,1 号文件 依赖2 号文件 ,3 号文件 依赖1 号文件 ,则源文件的编译顺序为 2,1,0,3  或 2,1,3,0。现给出文件依赖关系,如 1,2,-1,1,表示0号文件依赖1号文件,1号文件依赖2号文件,2号文件没有依赖,3号文件依赖1号文件。请补充完整程序,返回正确的编译顺序。注意如有同时可以编译多个文件的情况,按数字升序返回一种情况即可,比如前述案例输出为:2,1,0,3 小李想提高
答案集有个错的,本身这样写应该是正确的额。 class Solution { public:     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      * 编译顺序      * @param input string字符串      * @return string字符串      */     string compileSeq(string input) {         // write code here         vector<int> result;         string result1;         stringstream s1(input);           vector<int> v1;         string temp;         stringstream change;         while (getline(s1, temp, ','))         {             int temp1;             change << temp; change >> temp1;             v1.push_back(temp1);             change.clear();         }           int n = v1.size();         for (int i = 0; i < n; i++)         {             if (v1[i] == -1)             {                 result.push_back(i);             }         }           bfs(v1, result);           int length = result.size();         for (int i = 0; i < length; i++)         {             int g = result[i];             result1.append(to_string(g));             if (i < length - 1) {                 result1.push_back(',');             }         }         return result1;     };     void bfs(vector<int>& input, vector<int>& result)     {         int n = input.size();         if (result.size() == input.size()) return;         vector<int> curr;         for (int i = 0; i < n; i++)         {             if ((input[i] != -1) && (input[input[i]] == -1))             {                 result.push_back(i);                 curr.push_back(i);             }         }         for (auto k : curr) input[k] = -1;         bfs(input, result);     } }; 

今天 21:27:18 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 一个完整的软件项目往往会包含很多由代码和文档组成的源文件。编译器在编译整个项目的时候,可能需要按照依赖关系来依次编译每个源文件。比如,A.cpp 依赖 B.cpp,那么在编译的时候,编译器需要先编译 B.cpp,才能再编译 A.cpp。 假设现有 0,1,2,3 四个文件,0号文件依赖1 号文件 ,1 号文件 依赖2 号文件 ,3 号文件 依赖1 号文件 ,则源文件的编译顺序为 2,1,0,3  或 2,1,3,0。现给出文件依赖关系,如 1,2,-1,1,表示0号文件依赖1号文件,1号文件依赖2号文件,2号文件没有依赖,3号文件依赖1号文件。请补充完整程序,返回正确的编译顺序。注意如有同时可以编译多个文件的情况,按数字升序返回一种情况即可,比如前述案例输出为:2,1,0,3-笔试面试资料

提供最优质的资源集合

立即查看 了解详情