hadoop|贪心

Hadoop 是一款开源的分布式大数据处理框架,核心用来存储和计算海量数据(比如TB/PB级数据)

  • 关键词:分布式、存海量数据、并行计算;

  • sum:++"把数据拆了存、拆了算,解决大数据单台电脑'存不下、算得慢'"的问题。++

把Hadoop看成"数据处理工厂":

  • 存储部分(HDFS):像多个硬盘拼成的"大仓库",把数据拆成小块存到多台服务器,安全又能存海量数据;

  • 计算部分(MapReduce/YARN):像多个工人分工干活,把复杂计算拆成小任务,多台服务器同时算,效率翻倍。

用途

处理日志分析、用户行为统计、大数据挖掘等场景(比如电商分析千万用户的购物习惯)

lc2064

二分猜答案

class Solution {

//max min

public:

int minimizedMaximum(int n, vector<int>& q) {

int l = 1, r = *max_element(q.begin(), q.end());

int res = r;

while (l <= r)

{

int m = l + (r - l) / 2;

int cnt = 0;

for (int x : q) {

cnt += (x + m - 1) / m;

if (cnt > n) break;

}

if (cnt <= n)

{//店可以尝试放更少

res = m;

r = m - 1;

}

else

l = m + 1;

}

return res;

}

};

lc1260

class Solution {

public:

vector<vector<int>> shiftGrid(vector<vector<int>>& grid, int k) {

int m = grid.size(), n = grid[0].size();

int total = m * n;

k %= total; // 避免多余迁移

// 二维 转 一维

vector<int> arr;

for (auto& row : grid) {

arr.insert(arr.end(), row.begin(), row.end());

}

// 迁移k次==把最后k个元素移到开头

reverse(arr.begin(), arr.end());

reverse(arr.begin(), arr.begin() + k);

reverse(arr.begin() + k, arr.end());

// 一维 转回 二维

vector<vector<int>> res(m, vector<int>(n));

for (int i = 0; i < m; i++) {

for (int j = 0; j < n; j++) {

res[i][j] = arr[i * n + j];

}

}

return res;

}

};

相关推荐
AI软著研究员37 分钟前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish1 小时前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱2 小时前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
地平线开发者18 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮18 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者19 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考19 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx1 天前
CART决策树基本原理
算法·机器学习
Wect1 天前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱1 天前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法