自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Hadoop概述

1. Hadoop 1.x组成:Common(辅助工具)、HDFS(数据存储)、MapReduce(计算+资源调度) Hadoop 2.x组成:Common(辅助工具)、HDFS(数据存储)、MapReduce(计算)、Yarn(资源调度) Hadoop 3.x组成与2.x组成无变化,增加新特性:如配置多个NameNode等2. Yarn组成:ResourceManager(管理整个集群内存和CPU)、NodeManager(管理单个节点资源)、ApplicationMaster...

2021-10-21 12:18:48 270

原创 LeetCode - 链表相交【链表】

面试题 02.07. 链表相交给你两个单链表的头节点headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。思路 1. 题意:找到两个链表相交的节点。 2. 方法:(参考题解)将整个相交链表分成三部分:纯A链表部分、纯B链表部分、相交部分。假设三者长度分别为a,b,c。若从A链表开始,遍历至尾...

2021-07-28 21:48:59 116

原创 LeetCode - 24 两两交换链表中的节点【链表】

24. 两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]思路 1. 题意:将链表中的节点两两交换顺序。如1,2,3变为2,1,3;1,2,3,4变为2,1,4,3。 2. 方法:设置两个指针分别对应链表..

2021-07-28 14:26:48 98

原创 LeetCode - 114. 二叉树展开为链表【链表】

114. 二叉树展开为链表给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。示例 1:输入:root = [1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,null,6]示例 2:输入:root = []输出:[]示例 3:输入:root

2021-07-28 12:01:08 74

原创 LeetCode - 109 有序链表转换二叉搜索树【链表】

109. 有序链表转换二叉搜索树给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / /-10 5思路 1. 题意:根据给定有...

2021-07-02 20:14:08 189

原创 LeetCode - 剑指Offer 22 链表中倒数第k个节点【链表】

剑指 Offer 22. 链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.思路 1. 题意:返回链表中倒数第k个节点。 2. 思路:设置一..

2021-07-02 16:15:47 78

原创 LeetCode - 04.03 二叉树层次遍历转链表【链表】

面试题 04.03. 特定深度节点链表给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表的数组。示例:输入:[1,2,3,4,5,null,7,8] 1 / \ 2 3 / \ \ 4 5 7 / 8输出:[[1],[2,3],[4,5,7],[8]]思路 1. 题意:二叉树层次遍历,每层以...

2021-07-02 15:51:14 71

原创 LeetCode - 451 根据字符出现频率排序【排序】

451. 根据字符出现频率排序给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:"tree"输出:"eert"解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。示例 2:输入:"cccaaa"输出:"cccaaa"解释:'c'和'a'都出现三次。此外,"aaaccc"也是有效的答案。注意"cacaca"是不正确的,因为相同的字母必须放在一起。示例 3:

2021-06-30 23:11:39 136 6

原创 LeetCode - 1402 权值排序最大和【排序】

1402. 做菜顺序示例 1:输入:satisfaction = [-1,-8,0,5,-9]输出:14解释:去掉第二道和最后一道菜,最大的喜爱时间系数和为 (-1*1 + 0*2 + 5*3 = 14) 。每道菜都需要花费 1 单位时间完成。示例 2:输入:satisfaction = [4,3,2]输出:20解释:按照原来顺序相反的时间做菜 (2*1 + 3*2 + 4*3 = 20)示例 3:输入:satisfaction = [-1,-4,-5]输出:0解释:大

2021-06-29 20:43:42 173 2

原创 LeetCode - 1051 排序的换位次数最小值【排序】

1051. 高度检查器示例:输入:heights =[1,1,4,2,1,3]输出:3 解释:当前数组:[1,1,4,2,1,3]目标数组:[1,1,1,2,3,4]在下标 2 处(从 0 开始计数)出现 4 vs 1 ,所以我们必须移动这名学生。在下标 4 处(从 0 开始计数)出现 1 vs 3 ,所以我们必须移动这名学生。在下标 5 处(从 0 开始计数)出现 3 vs 4 ,所以我们必须移动这名学生。示例 2:输入:heights = [5,1,2,3,4]输.

2021-06-29 20:09:23 176

原创 LeetCode - 950 卡牌抽一底一使之有序【排序】

950. 按递增顺序显示卡牌示例:输入:[17,13,11,2,3,5,7]输出:[2,13,3,11,5,17,7]解释:我们得到的牌组顺序为 [17,13,11,2,3,5,7](这个顺序不重要),然后将其重新排序。重新排序后,牌组以 [2,13,3,11,5,17,7] 开始,其中 2 位于牌组的顶部。我们显示 2,然后将 13 移到底部。牌组现在是 [3,11,5,17,7,13]。我们显示 3,并将 11 移到底部。牌组现在是 [5,17,7,13,11]。我们显示 5

2021-06-29 19:35:58 136

原创 Spark学习【Spark-Core:RDD】

Spark计算框架三大数据结构:RDD:弹性分布式数据集 累加器:分布式共享只写变量 广播变量:分布式共享只读变量RDD是最基本的数据处理模型。它代表一个弹性的、不可变的、可分区的、内部元素可并行计算的数据集。弹性存储:内存与磁盘的自动切换 容错:数据丢失可自动恢复 计算:计算出错的重试机制 分片:可根据需要重新分片不可变:RDD中封装了计算逻辑,不可改变。需通过产生新的RDD,在里面封装计算逻辑。 可分区、并行计算 数据集:RDD封装计算逻辑,不保存数据RDD核心属性:

2021-06-25 20:10:36 174

转载 大JSON分解为多个小JSON

# coding:utf-8import osimport json#F:\JR_data\new_datawith open(os.path.join('D:\\dataset', 'test.json'), 'r', encoding='utf-8') as f1: ll = [json.loads(line.strip()) for line in f1.readlines()] total = len(ll)//100 for i in range(total):.

2021-06-18 21:43:37 1029

原创 LeetCode - 1288 删除被覆盖区间【排序】

1288. 删除被覆盖区间示例:输入:intervals = [[1,4],[3,6],[2,8]]输出:2解释:区间 [3,6] 被区间 [2,8] 覆盖,所以它被删除了。思路 题意:计算未被覆盖区间的个数。 方法:对所有区间按起始元素排序,若起始元素相同则将较长区间放在前面。随后遍历所有区间进行计数,若新区间的终止元素小于等于上一个旧区间的终止元素,说明这个区间被覆盖了(起始元素大于等于旧区间,且终止元素小于等于旧区间);若大于上一个旧区间的终止元素,说明未被覆盖,计数..

2021-06-17 22:04:25 91

原创 LeetCode - 剑指Offer 45 把数组排成最小的数【排序】

剑指 Offer 45. 把数组排成最小的数示例 1:输入: [10,2]输出: "102"示例 2:输入: [3,30,34,5,9]输出: "3033459"思路 题意:根据跟定数字通过排序组合得到最小数字。 方法:将整数数组转换为字符串数组,重写排序。比较字符串str[i]和str[j]一前一后连接组成的新字符串s1(先i后j)和s2(先j后i)。(可以逐位字符比较,也可以转为Double比较,但转换比较耗时)代码class Solution {..

2021-06-17 21:01:43 72

原创 LeetCode - 1727 交换列得到面积最大子矩阵【排序】

1727. 重新排列后的最大子矩阵示例2:输入:matrix = [[1,0,1,0,1]]输出:3解释:你可以按照上图方式重新排列矩阵的每一列。最大的全 1 子矩阵是上图中加粗的部分,面积为 3 。示例 3:输入:matrix = [[1,1,0],[1,0,1]]输出:2解释:由于你只能整列整列重新排布,所以没有比面积为 2 更大的全 1 子矩形。思路 题意:通过交换列,求面积最大的矩形。 方法:依次计算每个元素在列方向连续1的个数。如将[0, ..

2021-06-16 21:27:04 186

原创 LeetCode - 1887 使数组元素相等的减少操作次数【排序】

1887. 使数组元素相等的减少操作次数示例 1:输入:nums = [5,1,3]输出:3解释:需要 3 次操作使 nums 中的所有元素相等:1. largest = 5 下标为 0 。nextLargest = 3 。将 nums[0] 减少到 3 。nums = [3,1,3] 。2. largest = 3 下标为 0 。nextLargest = 1 。将 nums[0] 减少到 1 。nums = [1,1,3] 。3. largest = 3 下标为 2 。nextL

2021-06-14 19:13:51 132 1

原创 LeetCode - 973 最接近原点的 K 个点【排序】

973. 最接近原点的 K 个点示例 1:输入:points = [[1,3],[-2,2]], K = 1输出:[[-2,2]]解释: (1, 3) 和原点之间的距离为 sqrt(10),(-2, 2) 和原点之间的距离为 sqrt(8),由于 sqrt(8) < sqrt(10),(-2, 2) 离原点更近。我们只需要距离原点最近的 K = 1 个点,所以答案就是 [[-2,2]]。示例 2:输入:points = [[3,3],[5,-1],[-2,4]],

2021-06-14 18:32:48 125

原创 LeetCode - 969 煎饼翻面- 数组翻转排序【排序】

969. 煎饼排序示例 1:输入:[3,2,4,1]输出:[4,2,4,3]解释:我们执行 4 次煎饼翻转,k 值分别为 4,2,4,和 3。初始状态 arr = [3, 2, 4, 1]第一次翻转后(k = 4):arr = [1, 4, 2, 3]第二次翻转后(k = 2):arr = [4, 1, 2, 3]第三次翻转后(k = 4):arr = [3, 2, 1, 4]第四次翻转后(k = 3):arr = [1, 2, 3, 4],此时已完成排序。 示例 .

2021-06-13 22:02:02 232

原创 LeetCode - 1387 将整数按权重排序【排序】

1387. 将整数按权重排序示例1:输入:lo = 12, hi = 15, k = 2输出:13解释:12 的权重为 9(12 --> 6 --> 3 --> 10 --> 5 --> 16 --> 8 --> 4 --> 2 --> 1)13 的权重为 914 的权重为 1715 的权重为 17区间内的数按权重排序以后的结果为 [12,13,14,15] 。对于 k = 2 ,答案是第二个整数也就是 13 。注意,12 和

2021-06-13 21:00:04 297

原创 LeetCode - 1630 等差子数组【排序】

1630. 等差子数组示例1:输入:nums = [4,6,5,9,3,7], l = [0,0,2], r = [2,3,5]输出:[true,false,true]解释:第 0 个查询,对应子数组 [4,6,5] 。可以重新排列为等差数列 [6,5,4] 。第 1 个查询,对应子数组 [4,6,5,9] 。无法重新排列形成等差数列。第 2 个查询,对应子数组 [5,9,3,7] 。可以重新排列为等差数列 [3,5,7,9] 。示例2:输入:nums = [-12,-9,-3

2021-06-13 19:01:10 131

原创 LeetCode - 1561 三人每次取第二大的最大和【排序】

1561. 你可以获得的最大硬币数目示例1:输入:piles = [2,4,1,2,7,8]输出:9解释:选出 (2, 7, 8) ,Alice 取走 8 枚硬币的那堆,你取走 7 枚硬币的那堆,Bob 取走最后一堆。选出 (1, 2, 4) , Alice 取走 4 枚硬币的那堆,你取走 2 枚硬币的那堆,Bob 取走最后一堆。你可以获得的最大硬币数目:7 + 2 = 9.考虑另外一种情况,如果选出的是 (1, 2, 8) 和 (2, 4, 7) ,你就只能得到 2 + 4 = 6

2021-06-13 18:30:55 71

原创 LeetCode - 1329 将矩阵按对角线排序【排序】

1329. 将矩阵按对角线排序示例1输入:mat = [[3,3,1,1],[2,2,1,2],[1,1,1,2]]输出:[[1,1,1,1],[1,2,2,2],[1,2,3,3]]示例2输入:mat = [[11,25,66,1,69,7],[23,55,17,45,15,52],[75,31,36,44,58,8],[22,27,33,25,68,4],[84,28,14,11,5,50]]输出:[[5,17,4,1,52,7],[11,11,25,45,8,69],[1.

2021-06-13 18:10:28 300

原创 LeetCode - 1637 两点之间不包含任何点的最宽面积【排序】

1637 - 两点之间不包含任何点的最宽垂直面积示例1输入:points = [[8,7],[9,9],[7,4],[9,7]]输出:1解释:红色区域和蓝色区域都是最优区域。示例2输入:points = [[3,1],[9,0],[1,0],[1,4],[5,3],[8,8]]输出:3思路 求所有顶点中,相邻两顶点横坐标的最大差值。代码class Solution { public int maxWidthOfVerticalArea(int[][...

2021-06-13 17:53:23 71

原创 hadoop/spark免密登录

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa // 创建公钥私钥对cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //chmod 0600 ~/.ssh/authorized_keys // 设置权限,owner有读写权限,group和other无权限

2021-06-02 13:35:15 179

原创 Neo4j导出csv数据

1. 在github下载apoc-4.2.0.4-all.jar插件。具体地址:neo4j-apoc-procedures2. 将插件拷贝至neo4j的plugins目录下3. 修改neo4j的conf目录下的配置文件,添加以下几行apoc.import.file.use_neo4j_config=trueapoc.export.file.enabled=trueapoc.import.file.enabled=truedbms.directories.import=importdbm

2021-05-15 15:39:56 1220

原创 RDF数据库-Linux下Virtuoso安装与使用及Java编程

一、Virtuoso安装与数据导入1. 下载Virtuoso:Virtuoso开源版下载地址2. 解压到/usr/local目录tar -zxvf virtuoso-opensource.x86_64-generic_glibc25-linux-gnu.tar.gz3. 将virtuoso-openlink下的database文件夹中的virtuoso.ini.sample重命名为virtuoso.inicd virtuoso-opensource/databasecp vir..

2021-05-14 21:12:44 1663

原创 Excel小技巧:极值着色&数据汇总

1. 给每行最大值和最小值进行标色:选中一行中的一个单元格,点击“条件格式”->“新建规则”->“使用公式确定要设置的单元格”->输入公式最大值公式=A1=MAX($A1:$G1)最小值公式=A1=MIN($A1:$G1)并为其设置格式,如字体加粗、字体颜色、填充颜色等。最后使用格式刷,选中整个要作用的区域即可。2. 对具有相同名称的属性使用聚合函数(求和、求平均等操作)选择数据区域->“数据”->“分类汇总”最后选择汇总方式和.

2021-05-14 20:27:16 1096

原创 yum报错/usr/lib64/python2.7/site-packages/pycurl.so: undefined symbol: CRYPTO_num_locks

输入指令查看问题所在ldd /usr/lib64/python2.7/site-packages/pycurl.so删除/usr/local/lib下的libcurl.so.4rm libcurl.so.4进入/usr/lib64查看cd /usr/lib64建立软链接ln -s /usr/lib64/libcurl.so.4.3.0 /usr/local/lib/libcurl.so.4...

2021-05-14 15:51:21 484

原创 linux系统端口开放

linux开放端口:firewall-cmd --zone=public --add-port=7474/tcp --permanent重启防火墙firewall-cmd --reload查询端口是否打开firewall-cmd --query-port=7474/tcp

2021-05-14 13:21:50 66

原创 Parboiled学习(一)

Parboiled概述Parboiled是一个混合的Java/ Scala库,提供了基于解析表达文法(PEGs)的轻量级、易用、功能强大的任意输入文本解析。图形数据库Neo4j使用Parboiled解析查询语言Cypher。特点用户可以以某种方式指定解析语法,并使它快速,轻松地工作。 解析表达式语法的强大表达能力 支持强大而灵活的解析器操作 出色的解析错误报告和恢复...

2019-10-30 20:16:17 1453 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除