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 = grid0.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++) {

resij = arri \* n + j;

}

}

return res;

}

};

相关推荐
一去不复返的通信er5 小时前
贪心算法-合并区间(LeetCode 56)
算法·leetcode·贪心算法
Shaoshing6 小时前
LeetCode100 49. 字母异位词分组
java·算法
YFJ_mily6 小时前
第二届区块链技术与基础模型国际学术会议(BTFM2027)
算法·区块链·能源·智能系统·rdlink研发家·机器人自动化
汤姆宝库7 小时前
收官深拆:第一性原理、产业电网与未来推演
大数据·人工智能·算法
moshuying9 小时前
块扩散 + GDN 改造:Clover 把「并行生成」塞进了 Agent 的长上下文里
前端·算法
没落之王9 小时前
历史系统建模:宋初太祖太宗「再立天庭」秩序重构推演
人工智能·算法·重构
INGNIGHT9 小时前
91 · 最小调整代价(序列dp)
数据结构·算法·leetcode
moshuying9 小时前
扩散模型开始写代码、开网页了:350 亿参数,速度比 Jev 快一倍
前端·算法
小超人诞生日记10 小时前
C++ 异常机制详解:从抛出捕获到异常安全
c++·算法