自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pytorch_geometric环境配置

pytorch_geometric环境配置pytorch_geometric是一个图深度学习库。除了pytorch,安装这个库还需要安装torch_cluster, torch_scatter, torch_sparse, torch_spline_conv这四个库,安装过程需要注意gcc/g++, cuda/cudnn, python, pytorch, torch_cluster/torch_scatter/torch_sparse/torch_spline_conv之间的版本对应,比较复杂繁琐,故在

2022-01-29 23:25:06 2853

原创 vscode统计代码行数

Ctrl + Shift + F或点击左侧导航栏的“放大镜”按钮,在SEARCH文本框点击最右侧图标开启正则匹配模式,在SEARCH文本框中输入^b*[^:b#/]+.*$,如果有需要的话,在文本过滤器中选择需要统计的代码文本(files to include)和需要排除统计的代码文本(files to exclude)。统计结果中的results个数即为代码行数。...

2020-11-26 13:11:50 2572

原创 查看gcc/g++默认编译标准

gcc/g++使用-std参数指定编译标准,例如g++ -std=c11 main.cpp表示用C++11标准编译main.cpp使用info gcc或info g++查看gcc/g++可以使用的编译标准及默认标准:-std=下列出了所有可以指定的编译标准在其中搜索"default",可以找到默认的C/C++编译标准。例如笔者的ubuntu18.04的g++ 7.5.0的默认C代码编译标准为gun1x,默认C++代码编译标准为gnu++1y...

2020-10-13 15:56:08 5519 1

原创 JVM知识点整理

JVM知识点整理JVM体系结构运行时数据区 (Runtime Data Area)元空间 (Metaspace)Java8之前叫方法区 (Method Area)或永久代 (Permanent Generation )包含:类的全限定名,如java.io.FileOutputStream类的直接超类的全限定名,如java.io.OutputStream类是类类型还是接口类型类的访问修饰符直接超接口的全限定名的有序列表,如``java.io.Closeable,java.io.Flus

2020-10-02 00:39:47 697

原创 LeetCode第 34 场双周赛

5491. 矩阵对角线元素的和给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]]输出:25解释:对角线的和为:1 + 5 + 9 + 3 + 7 = 25请注意,元素 mat[1][1] = 5 只会被计算一次。示例 2:输入:mat = [[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]]输

2020-09-06 10:02:06 190

原创 LeetCode 剑指 Offer 20. 表示数值的字符串

剑指 Offer 20. 表示数值的字符串请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、"-1E-16"、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、"±5"及"12e+5.4"都不是。思路有限状态自动机。设计状态的时候注意由于".1"这样的字符串是合法的而"."这样的字符串是非法的,因此针对’.‘要设计两个状态: DOT, DOT_NO_DIG. 前者表示’.‘之前已有数字,后者表示’.'

2020-09-02 21:03:28 196

原创 LeetCode 486. 预测赢家(动态规划)

486. 预测赢家给定一个表示分数的非负整数数组。 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,…… 。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。示例 1:输入:[1, 5, 2]输出:False解释:一开始,玩家1可以从1和2中进行选择。如果他选择 2(或者 1 )

2020-09-01 09:32:31 242

原创 CentOS 6升级glibc

环境CentOS 6.3glibc 2.12背景新安装的软件依赖glic 2.17,而机器上的glibc的最高版本只有2.12.执行以下命令可以查询glibc的所有版本strings /lib64/libc.so.6 |grep GLIBC_在glibc升级之前,上述命令输出GLIBC_2.2.5GLIBC_2.2.6GLIBC_2.3GLIBC_2.3.2GLIBC_2.3.3GLIBC_2.3.4GLIBC_2.4GLIBC_2.5GLIBC_2.6GLIBC_2

2020-08-31 22:46:09 872

原创 LeetCode第 33 场双周赛

5479. 千位分隔数给你一个整数 n,请你每隔三位添加点(即 “.” 符号)作为千位分隔符,并将结果以字符串格式返回。示例 1:输入:n = 987输出:“987”示例 2:输入:n = 1234输出:“1.234”示例 3:输入:n = 123456789输出:“123.456.789”示例 4:输入:n = 0输出:“0”提示:0 <= n < 2^31思路注意n=0的特判代码class Solution { public String tho

2020-08-23 09:26:10 204

原创 LeetCode 679. 24 点游戏(dfs)

679. 24 点游戏你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24。示例 1:输入: [4, 1, 8, 7]输出: True解释: (8-4) * (7-1) = 24示例 2:输入: [1, 2, 1, 2]输出: False注意:除法运算符 / 表示实数除法,而不是整数除法。例如 4 / (1 - 2/3) = 12 。每个运算符对两个数进行运算。特别是我们不能用 - 作为一元运算符。例如,[1, 1, 1, 1] 作为输

2020-08-22 11:21:36 358

原创 LeetCode 647. 回文子串(动态规划)

647. 回文子串给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1:输入:“abc”输出:3解释:三个回文子串: “a”, “b”, “c”示例 2:输入:“aaa”输出:6解释:6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”提示:输入的字符串长度不会超过 1000 。方法一动态规划。dp[i][j]表示[i, j)区间内的字符串是否是回文串. 时

2020-08-19 20:54:27 243

原创 pylint只显示错误信息(屏蔽warning以下的警告信息)

【方法一】pylint --errors-only $FILE_NAME【方法二】pylint --disable=R,C,W $FILE_NAME其中R,C,W分别表示警告级别为refactor, convention, warning

2020-08-18 17:43:06 1472

原创 LeetCode Weekly Contest 202

5185. 存在连续三个奇数的数组给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true ;否则,返回 false 。示例 1:输入:arr = [2,6,4,1]输出:false解释:不存在连续三个元素都是奇数的情况。示例 2:输入:arr = [1,2,34,3,4,5,7,23,12]输出:true解释:存在连续三个元素都是奇数的情况,即 [5,7,23] 。提示:1 <= arr.length <= 10001 &l

2020-08-16 16:38:03 190

原创 LeetCode 397. 整数替换(位运算)

397. 整数替换给定一个正整数 n,你可以做如下操作:如果 n 是偶数,则用 n / 2替换 n。如果 n 是奇数,则可以用 n + 1或n - 1替换 n。n 变为 1 所需的最小替换次数是多少?示例 1:输入:8输出:3解释:8 -> 4 -> 2 -> 1示例 2:输入:7输出:4解释:7 -> 8 -> 4 -> 2 -> 1或7 -> 6 -> 3 -> 2 -> 1思路找规律。当n

2020-08-14 22:52:06 507

原创 LeetCode 739. 每日温度(单调栈)

739. 每日温度请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。思路看到左/右边第一个小于

2020-08-11 16:36:33 219

原创 LeetCode 1499. 满足不等式的最大值(单调队列)

1499. 满足不等式的最大值给你一个数组 points 和一个整数 k 。数组中每个元素都表示二维平面上的点的坐标,并按照横坐标 x 的值从小到大排序。也就是说 points[i] = [xi, yi] ,并且在 1 <= i < j <= points.length 的前提下, xi < xj 总成立。请你找出 yi + yj + |xi - xj| 的 最大值,其中 |xi - xj| <= k 且 1 <= i < j <= points.leng

2020-08-11 15:42:04 434

原创 LeetCode Weekly Contest 201

5483. 整理字符串题目难度Easy给你一个由大小写英文字母组成的字符串 s 。一个整理好的字符串中,两个相邻字符 s[i] 和 s[i + 1] 不会同时满足下述条件:0 <= i <= s.length - 2s[i] 是小写字符,但 s[i + 1] 是相同的大写字符;反之亦然 。请你将字符串整理好,每次你都可以从字符串中选出满足上述条件的 两个相邻 字符并删除,直到字符串整理好为止。请返回整理好的 字符串 。题目保证在给出的约束条件下,测试样例对应的答案是唯一的。注意:

2020-08-09 20:06:12 309

原创 POJ 3250 Bad Hair Day(单调栈)

Bad Hair DayTime Limit: 2000MS Memory Limit: 65536KDescriptionSome of Farmer John’s N cows (1 ≤ N ≤ 80,000) are having a bad hair day! Since each cow is self-conscious about her messy hairstyle, FJ wants to count the number of other cows that can see t

2020-08-08 11:51:43 413

原创 LeetCode Weekly Contest 200

5475. 统计好三元组题目难度Easy给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。0 <= i < j < k < arr.length|arr[i] - arr[j]| <= a|arr[j] - arr[k]| <= b|arr[i] - arr[k]| <= c其中 |x| 表示 x 的绝对值。

2020-08-02 20:48:10 218

原创 LeetCode 632. 最小区间(滑动窗口)

632. 最小区间你有 k 个升序排列的整数数组。找到一个最小区间,使得 k 个列表中的每个列表至少有一个数包含在其中。我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。示例 1:输入:[[4,10,15,24,26], [0,9,12,20], [5,18,22,30]]输出: [20,24]解释:列表 1:[4, 10, 15, 24, 26],24 在区间 [20,24] 中。列表 2:[0, 9, 12

2020-08-01 09:46:44 289

原创 LeetCode 785. 判断二分图(递归)

785. 判断二分图给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边: graph[i] 中不存在i,并且graph[i]中没有重复的值。示例 1:输入: [[1,3], [0,2],

2020-07-31 09:54:10 251

原创 LeetCode 410. 分割数组的最大值(动态规划)

410. 分割数组的最大值给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。注意:数组长度 n 满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式是将其分为[7,2,5] 和 [10,8],因为此时这两个子数组各自的和的最大值为18,在所有情

2020-07-30 08:43:13 324

原创 LeetCode LCP 13. 寻宝(状压dp)

LCP 13. 寻宝我们得到了一副藏宝图,藏宝图显示,在一个迷宫中存在着未被世人发现的宝藏。迷宫是一个二维矩阵,用一个字符串数组表示。它标识了唯一的入口(用 ‘S’ 表示),和唯一的宝藏地点(用 ‘T’ 表示)。但是,宝藏被一些隐蔽的机关保护了起来。在地图上有若干个机关点(用 ‘M’ 表示),只有所有机关均被触发,才可以拿到宝藏。要保持机关的触发,需要把一个重石放在上面。迷宫中有若干个石堆(用 ‘O’ 表示),每个石堆都有无限个足够触发机关的重石。但是由于石头太重,我们一次只能搬一个石头到指定地点。

2020-07-29 15:43:56 314

原创 LeetCode 718. 最长重复子数组(动态规划)

718. 最长重复子数组给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出:3解释:长度最长的公共子数组是 [3, 2, 1] 。提示:1 <= len(A), len(B) <= 10000 <= A[i], B[i] < 100思路动态规划。dp[i][j]表示以A[i]开头的子串从位置i开始与以B[j]开头的子串的从位置j开始匹配的最大重复子串长度。时间复

2020-07-28 20:29:34 186

原创 LeetCode Weekly Contest 199

5472. 重新排列字符串题目难度Easy给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。示例 1:输入:s = “codeleet”, indices = [4,5,6,7,0,2,1,3]输出:“leetcode”解释:如图所示,“codeleet” 重新排列后变为 “leetcode” 。示例 2:输入:s = “abc”, indices = [

2020-07-26 23:13:16 151

原创 LeetCode Weekly Contest 198

5464. 换酒问题题目难度Easy小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。请你计算 最多 能喝到多少瓶酒。示例 1:输入:numBottles = 9, numExchange = 3输出:13解释:你可以用 3 个空酒瓶兑换 1 瓶酒。所以最多能喝到 9 + 3 + 1 = 13 瓶酒。示例 2:输入:numBottles = 15, numExchange =

2020-07-19 21:26:59 214

原创 LeetCode Weekly Contest 197

1512. 好数对的数目给你一个整数数组 nums 。如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。返回好数对的数目。示例 1:输入:nums = [1,2,3,1,1,3]输出:4解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始示例 2:输入:nums = [1,1,1,1]输出:6解释:数组中的每组数字都是好数对示例 3:输入:nums = [1

2020-07-13 12:09:02 218

原创 Google kick start 2020 Round D

Record Breaker (4pts, 8pts)ProblemIsyana is given the number of visitors at her local theme park on N consecutive days. The number of visitors on the i-th day is Vi. A day is record breaking if it satisfies both of the following conditions:The number of

2020-07-13 09:29:50 959

原创 LeetCode Weekly Contest 196

5452. 判断能否形成等差数列给你一个数字数组 arr 。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 。如果可以重新排列数组形成等差数列,请返回 true ;否则,返回 false 。示例 1:输入:arr = [3,5,1]输出:true解释:对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。示例 2:输入:arr = [1,2,4]输出:false解释:无法通过重新排序得到等差

2020-07-05 15:47:28 192

原创 Spark知识点整理

Spark知识点整理版本:Spark-2.1.1Spark架构Spark架构主要包含如下角色:Driver: 主计算进程,Spark job的驱动器Executor: 执行器,Worker上的计算进程Cluster Master: 主节点,在standalone模式中为主节点,控制整个集群,监控Worker. 在Yarn模式中充当资源管理器(Resource Manager)Worker: 从节点,负责控制计算节点,启动Executor或DriverDriverSpark的驱动器是执行

2020-07-01 20:54:19 503

原创 LeetCode Weekly Contest 195

5448. 判断路径是否相交给你一个字符串 path,其中 path[i] 的值可以是 ‘N’、‘S’、‘E’ 或者 ‘W’,分别表示向北、向南、向东、向西移动一个单位。机器人从二维平面上的原点 (0, 0) 处开始出发,按 path 所指示的路径行走。如果路径在任何位置上出现相交的情况,也就是走到之前已经走过的位置,请返回 True ;否则,返回 False 。示例 1:输入:path = “NES”输出:false解释:该路径没有在任何位置相交。示例 2:输入:path = “NESW

2020-06-28 16:16:12 318

原创 LeetCode Weekly Contest 194

1486. 数组异或操作给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。示例 1:输入:n = 5, start = 0输出:8解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8 。“^” 为按位异或 XOR 运算符。示例 2:输入:n = 4, start

2020-06-23 18:44:38 333

原创 LeetCode Weekly Contest 193

5436. 一维数组的动态和给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。示例 1:输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。示例 2:输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1

2020-06-14 15:17:20 178

原创 LeetCode Weekly Contest 192

5428. 重新排列数组题目难度Easy给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,…,xn,y1,y2,…,yn] 的格式排列。请你将数组按 [x1,y1,x2,y2,…,xn,yn] 格式重新排列,返回重排后的数组。示例 1:输入:nums = [2,5,1,3,4,7], n = 3输出:[2,3,5,4,1,7]解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]示例 2:输入:nums

2020-06-07 11:59:49 180 2

原创 LeetCode Weekly Contest 191

5424. 数组中两元素的最大乘积给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。请你计算并返回该式的最大值。示例 1:输入:nums = [3,4,5,2]输出:12解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1)(nums[2]-1) = (4-1)(5-1) = 3*4 = 12 。示例 2:输入:nums = [1,5,4,5]输出:16解释:选

2020-05-31 22:02:22 204

原创 LeetCode Weekly Contest 190

5416. 检查单词是否为句中其他单词的前缀给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。请你检查检索词 searchWord 是否为句子 sentence 中任意单词的前缀。如果 searchWord 是某一个单词的前缀,则返回句子 sentence 中该单词所对应的下标(下标从 1 开始)。如果 searchWord 是多个单词的前缀,则返回匹配的第一个单词的下标(最小下标)。如果 searchWord 不是任何单

2020-05-24 12:16:39 178

原创 [maven] 使用maven-shade-plugin将依赖打包到jar包

写在前面这是笔者第一次使用纯命令行构建maven项目,可能有疏漏或者错误的地方,望读者指正!问题描述一个maven项目,用命令java -cp ${TARGET_JAR_PATH} ${MAIN_CLASS}运行报错:java.lang.NoClassDefFoundError: Jama/Matrix,其中Jama是项目的一个依赖包,用来做矩阵计算。使用mvn -f pom.xml dependency:copy-dependencies下载依赖包Jama到./target/depen

2020-05-21 15:40:47 2826 2

原创 git本地账号管理

在使用git时,一个人可能拥有多个git账号(例如一个是个人账号,一个是公司内部账号),如果不关心提交时的账号,容易造成混乱,给多人项目开发带来不便。因此,有必要掌握查看、修改本地账号的git命令。查看本地git账号:查看git用户名:git config user.name查看git用户邮箱:git config user.email切换本地git账号:切换本地git用户名:git config --global user.name "$USER_NAME"切换本地git用户邮箱:git

2020-05-17 20:25:07 1002

原创 LeetCode第 26 场双周赛

5396. 连续字符题目难度Easy给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。请你返回字符串的能量。示例 1:输入:s = “leetcode”输出:2解释:子字符串 “ee” 长度为 2 ,只包含字符 ‘e’ 。示例 2:输入:s = “abbcccddddeeeeedcba”输出:5解释:子字符串 “eeeee” 长度为 5 ,只包含字符 ‘e’ 。示例 3:输入:s = “triplepillooooow”输出:5示例 4:输

2020-05-17 07:17:42 508

原创 [spark] repartition与partitionBy的区别

Spark中,repartition和partitionBy都是重新分区的算子,其中partitionBy只能作用于PairRDD. 但是,当作用于PairRDD时,repartition和partitionBy的行为是不同的。repartition是把数据随机打散均匀分布于各个Partition;而partitionBy则在参数中指定了Partitioner(默认HashPartitioner),将每个(K,V)对按照K根据Partitioner计算得到对应的Partition. 在合适的时候使用part

2020-05-15 11:24:40 5446

空空如也

空空如也

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

TA关注的人

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