avatar
文章
112
标签
18
分类
34

首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
Zhangzqs
搜索
首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
Leetcode-398-随机数索引
发表于2022-04-25|数据结构与算法Leetcode
题目 398. 随机数索引 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。 注意: 数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。 示例: int[] nums = new int[] {1,2,3,3,3}; Solution solution = new Solution(nums); // pick(3) 应该返回索引 2,3 或者 4。每个索引的返回概率应该相等。 solution.pick(3); // pick(1) 应该返回 0。因为只有nums[0]等于1。 solution.pick(1); 解题 方法一(暴力) 遍历一遍数组nums,每个nums的元素都作为一个key,将下标记录到一个哈希表中的对应key所属的集合中,pick时候查找哈希表,在查询出的集合中随机挑选一个返回。 123456789101112131415class Solution {public: unordered_map<int, vector<int>> mv; ...
Hive简单应用
发表于2022-04-24|大数据
第一步:创建数据库 首先通过show databases命令查看已存在的数据库。然后使用create命令创建一个新的数据库,在本实验中命名为“demo+学号后4位”。 show databases; 1CREATE DATABASE IF NOT EXISTS demo0740; 12345678910hive> CREATE DATABASE IF NOT EXISTS demo0740;OKTime taken: 0.074 secondshive> show databases;OKdefaultdemo0740testTime taken: 0.038 seconds, Fetched: 3 row(s) 第二步:使用创建的数据库 使用USE命令,将你创建的demo数据库设置为当前使用的数据库。 use demo0740; 第三步:创建表 通过create table命令创建一个表,表名users,创建完成后,用describe 表名 命令查看建表结果,确保建表成功。表属性包含: id:int,记录编号,具有唯一性 uid:string,用户id item_i ...
HBase基本操作
发表于2022-04-23|大数据
常用HBase Shell命令 创建表 12/* 创建表,cf1,cf2为列族名 */create 'table_name','cf1','cf2',... 写入数据 12/* 插入或更新数据,cf为列族名,cq为列名,value为要写入的数据 */put 'table_name', 'row_key', 'cf:cq', 'value'[, timestamp] 读取数据 12345678/* 读取单行数据 */get 'table_name', 'row_key'/* 读取列族数据 */get 'table_name', 'row_key', 'cf'/* 读取单元格数据 */get 'table_name', 'row_key', 'cf:cq' 删除数据 12345/* 删除列 * ...
二维凸包
发表于2022-04-23|数据结构与算法其他
概念 具体概念参考 凸包 - 维基百科,自由的百科全书 (wikipedia.org) 如图,在二维欧几里得空间中,凸包可想象为刚好包裹所有点的橡皮圈。 算法 Graham扫描算法 Graham扫描法(葛立恒扫描法)的原理:沿逆时针方向通过凸包时,在每个点处应该向左拐,而删除出现左拐的点。 <未完待续>
Leetcode-587-安装栅栏
发表于2022-04-23|数据结构与算法Leetcode
题目 587. 安装栅栏 在一个二维的花园中,有一些用 (x, y) 坐标表示的树。由于安装费用十分昂贵,你的任务是先用最短的绳子围起所有的树。只有当所有的树都被绳子包围时,花园才能围好栅栏。你需要找到正好位于栅栏边界上的树的坐标。 示例 1: 输入: [[1,1],[2,2],[2,0],[2,4],[3,3],[4,2]] 输出: [[1,1],[2,0],[4,2],[3,3],[2,4]] 解释: 示例 2: 输入: [[1,2],[2,2],[4,2]] 输出: [[1,2],[2,2],[4,2]] 解释: 即使树都在一条直线上,你也需要先用绳子包围它们。 注意: 所有的树应当被围在一起。你不能剪断绳子来包围树或者把树分成一组以上。 输入的整数在 0 到 100 之间。 花园至少有一棵树。 所有树的坐标都是不同的。 输入的点没有顺序。输出顺序也没有要求。 分析
HBase环境搭建
发表于2022-04-22|大数据
HBase集群架构 准备工作 新建四台虚拟机 master, slave1, slave2, slave3 分别设置固定IP 确认已经搭建好Hadoop集群,见如下文章 Hadoop环境搭建 配置完成后拓扑如下, HBase需要依赖ZooKeeper集群进行数据管理,HBase数据库也需要分别在多个节点搭建, 故HBase配置完毕之后的拓扑结构如下, ZooKeeper集群安装 简介 Apache ZooKeeper ZooKeeper是一个分布式服务框架,主要用来解决分布式系统中经常遇到的数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项等等。 基本工作过程 上图描述的就是一个ZooKeeper的节点计算图。 由若干个Server和若干个Client所够成,其中所有Server之间只有一个特殊的节点叫Leader,其余Server节点叫做Follower 如当某个Client对Server1发起写请求时, 数据将会写入这个Server1 这个Server1将会变更后传递到Leader Leader将变更同步到所有的Server,同步的 ...
Leetcode-396-旋转函数
发表于2022-04-22|数据结构与算法Leetcode
题目 396. 旋转函数 给定一个长度为 n 的整数数组 nums。 假设 arrk是数组 nums顺时针旋转 k 个位置后的数组,我们定义 nums 的 旋转函数  F 为: F(k) = 0 * arrk[0] + 1 * arrk[1] + ... + (n - 1) * arrk[n - 1] 返回 F(0), F(1), ..., F(n-1)中的最大值 。 生成的测试用例让答案符合** 32 位** 整数。 示例 1: 输入: nums = [4,3,2,6] 输出: 26 解释: F(0) = (0 * 4) + (1 * 3) + (2 * 2) + (3 * 6) = 0 + 3 + 4 + 18 = 25 F(1) = (0 * 6) + (1 * 4) + (2 * 3) + (3 * 2) = 0 + 4 + 6 + 6 = 16 F(2) = (0 * 2) + (1 * 6) + (2 * 4) + (3 * 3) = 0 + 6 + 8 + 9 = 23 F(3) = (0 * 3) + (1 * 2) + (2 * 6) + (3 * 4) ...
MapReduce环境搭建
发表于2022-04-19|大数据
需求分析 使用MapReduce完成一个词频统计Word Count程序, 如下图,新建一个文本,保存在本机上的input.txt中。 12a a b b b c c c c d de f f 统计input.txt中的各单词出现的数目。 环境配置 进入Maven仓库搜索hadoop, 下载hadoop client Maven Repository: org.apache.hadoop » hadoop-client (mvnrepository.com) 选择自己的hadoop版本, 将Maven的依赖定义复制下来。 打开idea新建一个maven项目 编辑pom.xml将复制的依赖定义粘贴进去 同步依赖完毕后,红色消失, 代码编写 MyMapper.java 1234567891011121314151617181920import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import ja ...
HDFS基本操作
发表于2022-04-16|大数据
在HDFS上创建文件 启动HDFS 运行脚本start-dfs.sh 1234567[root@master ~]# start-dfs.shStarting namenodes on [master]Last login: Sat Apr 16 20:09:41 CST 2022 from 192.168.166.1 on pts/0Starting datanodesLast login: Sat Apr 16 20:13:05 CST 2022 on pts/0Starting secondary namenodes [master]Last login: Sat Apr 16 20:13:07 CST 2022 on pts/0 运行脚本start-yarn.sh 12345[root@master ~]# start-yarn.shStarting resourcemanagerLast login: Sat Apr 16 20:13:14 CST 2022 on pts/0Starting nodemanagersLast login: Sat Apr 16 20:32 ...
树莓派安装虚拟化平台VMware ESXi
发表于2022-04-15|虚拟化ESXi
准备工作 下载VMware ESXi Download ESXi for ARM (vmware.com) Github上下载最新树莓派固件 https://github.com/raspberrypi/firmware Github Release上下载最新树莓派UEFI固件 Releases · pftf/RPi4 (github.com) 下载rufus软件用于烧录VMware ESXi镜像 Rufus - 轻松创建USB启动盘 制作UEFI启动TF卡 格式化TF卡 格式化TF卡为FAT32卷标设置为UEFI 写入fireware文件到tf卡 解压fireware-master.zip下的boot文件夹中的所有文件到tf卡中 删除所有的kernal*.img文件 覆盖UEFI固件文件 打开RPi4_UEFI_Firmware_*.zip文件,解压覆盖所有的文件到tf卡中。 制作VMware ESXi启动u盘 安装ESXi 树莓派插上制作好的tf卡,u盘,开机出现树莓派LOGO时候按ESC进入UEFI固件设置页面。 树莓派4的UEFI固件默认有一个使用3G ...
1…678…12
avatar
Zhangzqs
一个分享与记录的个人空间
文章
112
标签
18
分类
34
Follow Me
最新文章
图形学-光线追踪4(概率论)2025-10-14
图形学-光线追踪(渲染方程)2025-10-12
图形学-Animation动画22025-10-07
图形学-Animation动画2025-10-05
图形学-光线追踪(辐射度量学)2025-08-11
分类
  • Android7
  • Golang6
  • Java框架2
  • Python1
  • ROS机器人1
  • Rust1
  • 信息安全9
  • 各种日常踩坑小技巧4
标签
Typora Linux hexo 设计模式 踩坑 MyBatis pandoc 敏捷开发 算法 数学建模 C/C++ 语法分析 Java 编译原理 数据库 Scrum Hibernate 读后感
归档
  • 十月 20254
  • 八月 20254
  • 四月 20254
  • 六月 20241
  • 五月 20241
  • 四月 20244
  • 三月 20241
  • 二月 20242
网站资讯
文章数目 :
112
已运行时间 :
本站总字数 :
196.5k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By Zhangzqs
框架 Hexo|主题 Butterfly
搜索
数据库加载中