目录
内容纲要
Algorithm
题目:
https://leetcode.cn/problems/maximum-height-of-a-triangle/description/
题解:
扫描矩阵,找到左上,左下,右上,右下,时间复杂度:O(M*N)
class Solution {
public:
int minimumArea(vector<vector<int>>& grid) {
int m = grid.size(), n = grid[0].size();
int xmin = 1e9, xmax = -1, ymin = 1e9, ymax = -1;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (grid[i][j]) {
xmin = min(xmin, i);
xmax = max(xmax, i);
ymin = min(ymin, j);
ymax = max(ymax, j);
}
}
}
return (ymax - ymin + 1)*(xmax - xmin + 1);
}
};
Review
https://www.octomind.dev/blog/why-we-no-longer-use-langchain-for-building-our-ai-agents
主要介绍了这个团队为啥不再使用 langchain 来开发 Ai 代理,langchain 为了屏蔽细节,用了很多抽象,但是这也间接失去了简单性和灵活性。
Tip
- bazel //... 还是少用,一方面会编译很多可能不用的 target, 影响编译效率,另一方面,会导致不少坑
2.判断奇偶,除了常用方法,还可以通过和数字 1 按位与来判断
3.动态库A依赖于静态库 B,B 的符号不会自动导出到 A 中,可以通过 --whole-archive -lB--no-whole-archive 在链接时导出符号到 A 中
https://stackoverflow.com/questions/805555/ld-linker-question-the-whole-archive-option
几个调度框架可以学习参考一下,有趣的是都是基于 DAG(有向无环图):
https://github.com/ChunelFeng/CGraph
CGraph中文名为【色丶图】,是一套无任何第三方依赖的跨平台图流程执行框架。通过GPipeline(流水线)底层调度,实现了依赖元素依次顺序执行、非依赖元素并发执行的调度功能。
https://github.com/taskflow/taskflow
A General-purpose Task-parallel Programming System using Modern C++