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;

}

};

相关推荐
星火开发设计3 小时前
枚举类 enum class:强类型枚举的优势
linux·开发语言·c++·学习·算法·知识
嘴贱欠吻!8 小时前
Flutter鸿蒙开发指南(七):轮播图搜索框和导航栏
算法·flutter·图搜索算法
张祥6422889048 小时前
误差理论与测量平差基础笔记十
笔记·算法·机器学习
qq_192779879 小时前
C++模块化编程指南
开发语言·c++·算法
cici1587411 小时前
大规模MIMO系统中Alamouti预编码的QPSK复用性能MATLAB仿真
算法·matlab·预编码算法
历程里程碑11 小时前
滑动窗口---- 无重复字符的最长子串
java·数据结构·c++·python·算法·leetcode·django
2501_9403152612 小时前
航电oj:首字母变大写
开发语言·c++·算法
CodeByV12 小时前
【算法题】多源BFS
算法
TracyCoder12312 小时前
LeetCode Hot100(18/100)——160. 相交链表
算法·leetcode
浒畔居12 小时前
泛型编程与STL设计思想
开发语言·c++·算法