自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何构造大根堆

如何构造一个大顶堆(C实现)基础知识堆是一种二叉树结构,但是他的物理保存是一个数组,如下图实际的保存形式为{5,4,1,25,68,8,1,5,2,3}设每个结点下标为i则左孩子:2i+1右孩子:2i+2最后一个非叶子结点:arr.length/2-1 //因为 每一个结点的孩子结点下标不能超过数组长度arr.length,所以非叶子结点孩子下标2*i+1<=arr.length-1 ,下标从0开始**大根堆的概念:**从根结点开始,每一个结点的值都大于其两个孩子结点的值接下来

2021-08-15 21:38:55 2710

原创 TCP/IP网络编程(一)

TCP/IP网络编程第一章 理解网络编程和套接字实现先准备一个linux的操作系统然后用xshell连上CentOS7安装以及Xshell连接常见问题解决_jump_into_zehe的博客-CSDN博客下载gcc[root@localhost tcp]# which gcc/usr/bin/which: no gcc in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/hongzehe/.local/bin:/hom

2021-05-15 12:16:18 389

原创 Fisco-Bcos区块链java应用开发

基于Fisco-Bcos的java应用开发工具IDEA一台linux服务器或linux虚拟机一:搭建区块链网络搭建第一个区块链网络官方文档这一个看文档就可以了,没什么需要特别注意的搭建完之后,启动节点cd ~/fisco/consolebash nodes/127.0.0.1/start_all.sh启动成功后会输出try to start node0try to start node1try to start node2try to start node3 node1

2021-03-24 20:50:41 2780 1

原创 Caused by: io.netty.channel.ChannelException: init channel network error: Failed to connect to all

用IDEA创建节点连接时报错连接失败[cryptoMaterial]certPath = "conf" # The certification path# The following configurations take the certPath by default if commented# caCert = "conf/ca.crt" # CA cert file path# If connect

2020-12-26 17:48:18 1396 1

原创 生成平衡数组的方案数

LeetCode 1664生成平衡数组的方案数给你一个整数数组nums。你需要选择 恰好 一个下标(下标从 0 开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。比方说,如果 nums = [6,1,7,4,1],那么:选择删除下标 1 ,剩下的数组为nums = [6,7,4,1]。选择删除下标 2 ,剩下的数组为nums = [6,1,4,1]。选择删除下标 4 ,剩下的数组为nums = [6,1,7,4]。如果一个数组满足奇数下标元素的和与偶数下标元素的和

2020-12-15 16:27:59 220

原创 CentOS7安装以及Xshell连接常见问题解决

前提最近在装虚拟机上装docker,遇到了一大堆问题,我就把问题总结了一下以及对我问题解决有帮助的博客问题一现在大部分镜像源都不支持CentOS6了,所以要装docker的话最好使用CentOS7及以上版本CentOS7的安装教程推荐问题二安装CentOS7之后我们还要修改yum源,而以前的博客安装的yum源大部分都是http协议的,现在aliyun已经不支持http的了,所以我们直接到aliyun镜像网站如下图:选择对应版本的命令就可以了问题三安装完CentOS7以及用yum inst

2020-12-14 18:52:41 718

转载 CentOS6 YUM 源失效问题解决办法

问题描述Yum 源失效,无法正常使用 Yum,错误信息如下:http://mirrors.aliyun.com/centos/6/updates/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"尝试其他镜像。http://mirrors.aliyuncs.com/centos/6/updates/x86_64/repodata/repom

2020-12-13 15:36:20 1840 1

原创 目标和

LeetCode 494目标和给定一个非负整数数组,a1, a2, …, an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。返回可以使最终数组和为目标数 S 的所有添加符号的方法数。示例:输入:nums: [1, 1, 1, 1, 1], S: 3输出:5解释:-1+1+1+1+1 = 3+1-1+1+1+1 = 3+1+1-1+1+1 = 3+1+1+1-1+1 = 3+1+1+1+1-1 = 3

2020-12-04 15:51:42 137

原创 最后一块石头的重量

LeetCode 1049最后一块石头的重量有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回 0。示例:输入:[2,7,4,1,8,1]输

2020-11-24 19:24:07 120

原创 进程地址空间是啥?

进程一个进程在内存中是什么样的?一个进程就是一段运行的代码,那运行的代码会有哪些东西呢?正文段,也就是代码,一个程序要运行肯定需要代码的数据段,我们在写代码时总是会定义各种数据结构,而数据结构自然要占据内存,因此我们将其表示为数据段,数据段一般是可增长的,因为我们经常会在代码中动态分配内存如malloc函数堆栈段,堆栈段不同于数据段和代码段,它一般保存着一些与程序控制有关的东西,如一个linux命令,cp src dst,这一行命令表示拷贝src文件到dst文件,那进程的堆栈段会保存这三个参数,

2020-11-12 23:16:53 1314 2

原创 地址映射与共享

跟踪地址映射过程1.通过命令./dbg-asm启动调试器,在linux-0.11运行test.c文件,使其进入死循环,我们的任务就是找到i的地址并将其修改为0使test.c程序退出循环。2.在命令行输入crit+c使Boch暂停,一般会显示下列信息(0) [0x00fc8031] 000f:00000031 (unk. ctxt): cmp dword ptr ds:0x3004, 0x00000000 ; 833d0430000000其中的 000f 如果是 0008,则说明中断在了内核里。那么

2020-11-12 21:08:01 321

原创 1262、可被三整除的最大和(扩展、可被k整除的最大和)

LeetCode 1262可被三整除的最大和给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。示例 1:输入:nums = [3,6,5,1,8]输出:18解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。示例 2:输入:nums = [4]输出:0解释:4 不能被 3 整除,所以无法选出数字,返回 0。示例 3:输入:nums = [1,2,3,4,4]输出:12解释:选出数字 1, 3, 4 以及 4,它们的和是 12(

2020-11-08 12:10:37 408

原创 467、环绕字符串中唯一的子字符串

LeetCode 467环绕字符串中唯一的子字符串把字符串s看作是“abcdefghijklmnopqrstuvwxyz”的无限环绕字符串,所以 s 看起来是这样的:"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....".现在我们有了另一个字符串 p 。你需要的是找出 s 中有多少个唯一的 p 的非空子串,尤其是当你的输入是字符串 p ,你需要输出字符串 s 中 p 的不同的非空子串的数目。注意: p 仅由小写的英文字母

2020-11-07 11:17:27 190

原创 1641,统计字典序元音字符串的数目

LeetCode 1641统计字典序元音字符串的数目给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。示例 1:输入:n = 1输出:5解释:仅由元音组成的 5 个字典序字符串为 ["a","e","i","o","u"]示例 2:输入:n = 2输出:15解释:仅由元音组成的 15

2020-11-06 13:38:47 146

原创 剑指Offer 63. 股票的最大利润

股票的最大利润剑指Offer 63假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0

2020-10-18 11:01:49 179

原创 下载CentOs6.8内核源码

准备工作查询你的CentOS的版本以及Linux内核版本[root@centoshzh 桌面]# cat /etc/issueCentOS release 6.8 (Final)Kernel \r on an \m[root@centoshzh 桌面]# uname -r2.6.32-642.el6.x86_64[root@centoshzh 桌面]#下载经过上面的准备工作,我知道我的 CentOS的发布版本是 6.8,内核版本是2.6.32-642.el6。源码官网进入官网后

2020-10-15 13:47:50 247

原创 填充书架

leetCode 1105填充书架附近的家居城促销,你买回了一直心仪的可调节书架,打算把自己的书都整理到新的书架上。你把要摆放的书books都整理好,叠成一摞:从上往下,第i本书的厚度为books[i][0],高度为books[i][1]。按顺序将这些书摆放到总宽度为 shelf_width 的书架上。先选几本书放在书架上(它们的厚度之和小于等于书架的宽度shelf_width),然后再建一层书架。重复这个过程,直到把所有的书都放在书架上。需要注意的是,在上述过程的每个步骤中,摆放书的顺序与你整

2020-10-06 12:18:56 217

原创 650,只有两个键的键盘

LeetCode 650只有两个键的键盘最初在一个记事本上只有一个字符 ‘A’。你每次可以对这个记事本进行两种操作:Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。Paste(粘贴) : 你可以粘贴你上一次复制的字符。给定一个数字n。你需要使用最少的操作次数,在记事本中打印出恰好n个 'A'。输出能够打印出n个'A'的最少操作次数。示例 1:输入: 3输出: 3解释:最初, 我们只有一个字符 'A'。第 1 步, 我们使用 Copy A

2020-10-05 12:35:33 81

原创 357,计算各个位数不同的数字个数

LeetCode 357计算各个位数不同的数字个数给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n 。示例:输入: 2输出: 91 解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。解法:动态规划解题思路:其实一个二位数就是由一位数后面加一位组成的如:一位数:0 1 2 3 4 5 6 7 8 9二位数:10 11 12 13 14 15 16 17 18 1

2020-10-04 13:07:24 337

原创 1314.矩阵区域和

LeetCode 1314矩阵区域和给你一个 m * n的矩阵mat和一个整数K,请你返回一个矩阵 answer ,其中每个answer[i][j]是所有满足下述条件的元素mat[r][c]的和:i - K <= r <= i + K, j - K <= c <= j + K(r, c) 在矩阵内。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]], K = 1输出:[[12,21,16],[27,45,33],[24,39,28]]

2020-10-03 20:47:10 233

原创 837,新21点

LeetCode 837新21点爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏,描述如下:爱丽丝以 0 分开始,并在她的得分少于 K 分时抽取数字。 抽取时,她从 [1, W] 的范围中随机获得一个整数作为分数进行累计,其中 W 是整数。 每次抽取都是独立的,其结果具有相同的概率。当爱丽丝获得不少于 K 分时,她就停止抽取数字。 爱丽丝的分数不超过 N 的概率是多少?示例 1:输入:N = 10, K = 1, W = 10输出:1.00000说明:爱丽丝得到一张卡,然后停止。示

2020-10-02 12:21:58 71

原创 K站中转内最便宜的航班

LeetCode 787K站中转内便宜的航班有 n 个城市通过 m 个航班连接。每个航班都从城市 u 开始,以价格 w 抵达 v。现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到从 src 到 dst 最多经过 k 站中转的最便宜的价格。 如果没有这样的路线,则输出 -1。示例 1:输入: n = 3, edges = [[0,1,100],[1,2,100],[0,2,500]]src = 0, dst = 2, k = 1输出: 200解释: 城市航班

2020-09-14 22:43:51 436

原创 一和零

LeetCode 474一和零在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。注意:给定 0 和 1 的数量都不会超过 100。给定字符串数组的长度不会超过 600。示例 1:输入: Array = {"10", "0001", "111001", "1"

2020-09-08 17:55:28 671

转载 IDEA用JDBC连接数据库

https://blog.csdn.net/u012075383/article/details/78254482

2020-09-07 20:03:30 86

原创 快速下载GIT的网站

在GIT官网下载实在是太慢了,找到了一个网站,下载的挺快的http://apache.soxinyang.com/#/down/adb546cc9830db6735ce4c0b9d2ec133

2020-08-21 22:29:07 115

原创 所有可能的满二叉树

LeetCode 894所有可能的满二叉树满二叉树是一类二叉树,其中每个结点恰好有 0 或 2 个子结点。返回包含 N 个结点的所有可能满二叉树的列表。 答案的每个元素都是一个可能树的根结点。答案中每个树的每个结点都必须有 node.val=0。你可以按任何顺序返回树的最终列表。示例:输入:7输出:[[0,0,0,null,null,0,0,null,null,0,0],[0,0,0,null,null,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,null,nul

2020-08-15 21:36:26 176

原创 路径总和Ⅲ

LeetCode 437路径总和给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \ 5 -3 / \ \

2020-08-14 21:25:13 103

原创 二叉搜索树迭代器

LeetCode 173二叉搜索树迭代器实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。示例:BSTIterator iterator = new BSTIterator(root);iterator.next(); // 返回 3iterator.next(); // 返回 7iterator.hasNext(); // 返回 trueiterator.next(); // 返回 9itera

2020-08-14 20:08:45 186

原创 大小为K且平均值大于等于阈值的子数组数目

LeetCode 1343大小为K且平均值大于等于阈值的子数组数目给你一个整数数组 arr 和两个整数 k 和 threshold 。请你返回长度为 k 且平均值大于等于 threshold 的子数组数目。示例 1:输入:arr = [2,2,2,2,5,5,5,8], k = 3, threshold = 4输出:3解释:子数组 [2,5,5],[5,5,5] 和 [5,5,8] 的平均值分别为 4,5 和 6 。其他长度

2020-08-12 20:21:30 342

原创 比特位计数

LeetCode 338比特币计数给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度为O(n)。你能进一步完善解法吗?要求在C++或任何其他语言中不使用任何内置

2020-08-11 20:14:36 109

原创 最长递增子序列的个数

LeetCode 673最长递增子序列的个数给定一个未排序的整数数组,找到最长递增子序列的个数。示例 1:输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。、示例 2:输入: [2,2,2,2,2]输出: 5解释: 最长递增子序列的长度是1,并且存在5个子序列的长度为1,因此输出5。解法1:动态规划解题思路:首先,最长子序列的长度我们可以用动态规划的思想来解决定义dp数组为以nums[i]为结尾

2020-08-11 19:26:16 614

原创 岛屿数量

LeetCode 200岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:[ ['1','1','1','1','0'], ['1','1','0','1','0'], ['1','1','0','0','0'], ['0','0','0','0','0']]输出: 1示例 2:输入:[

2020-08-09 22:24:25 105

原创 乘积最大子数组

LeetCode 152乘积最大子数组给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。解法1:动态规划解题思路:用动态规划的思想,dp数组的含义就是从第i个数字到第j个数字的乘积和有以下

2020-08-09 13:08:30 99

原创 环形链表

LeetCode环型链表 Ⅱ给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明: 不允许修改给定的链表。进阶:你是否可以不用额外空间解决此题?示例1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连接到第二个节点

2020-08-07 21:49:55 93

原创 推多米诺

LeetCode 838推多米诺一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立。在开始时,我们同时把一些多米诺骨牌向左或向右推。每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌。同样地,倒向右边的多米诺骨牌也会推动竖立在其右侧的相邻多米诺骨牌。如果同时有多米诺骨牌落在一张垂直竖立的多米诺骨牌的两边,由于受力平衡, 该骨牌仍然保持不变。就这个问题而言,我们会认为正在下降的多米诺骨牌不会对其它正在下降或已经下降的多米诺骨牌施加额外的力。给定表示初始状态的字符串 “S” 。如

2020-08-06 14:38:31 355

原创 面试题 16.06. 最小值

LeetCode面试题 16.06. 最小差给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差示例:输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8}输出: 3,即数值对(11, 8)提示:1 <= a.length, b.length <= 100000-2147483648 <= a[i], b[i] <= 2147483647正确结果在区间[-2147483648, 2147

2020-08-06 10:59:06 170

原创 区间列表的交集

LeetCode 986区间列表的交集给定两个由一些 闭区间 组成的列表,每个区间列表都是成对不相交的,并且已经排序。返回这两个区间列表的交集。(形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合,而 a <= x <= b。两个闭区间的交集是一组实数,要么为空集,要么为闭区间。例如,[1, 3] 和 [2, 4] 的交集为 [2, 3]。)示例:输入:A = [[0,2],[5,10],[13,23],[

2020-08-05 22:30:21 558

原创 三数之和

LeetCode 15三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意: 答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]解法1:暴力法解题思路:首先用两层for循环取出三元组的前两个数,然后用二分查找找出前两个数之

2020-08-05 21:05:37 185

原创 面试题 17.11.单词距离

LeetCode面试题 17.11. 单词距离有个内含单词的超大文本文件,给定任意两个单词,找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗?示例:输入:words = ["I","am","a","student","from","a","university","in","a","city"], word1 = "a", word2 = "student"输出:1提示:words.length <= 10

2020-08-05 16:43:18 1272

原创 水果成篮

LeetCode 904水果成篮在一排树中,第i棵树产生tree[i]型的水果。你可以从你选择的任何树开始,然后重复执行以下步骤:把这棵树上的水果放进你的篮子里。如果你做不到,就停下来。移动到当前树右侧的下一棵树。如果右边没有树,就停下来。请注意,在选择一颗树后,你没有任何选择:你必须执行步骤 1,然后执行步骤 2,然后返回步骤 1 ,然后执行步骤 2,依此类推,直至停止。你有两个篮子,每个篮子可以携带任何数量的水果,但你希望每个篮子只携带一种类型的水果。用这个程序你能收集的水果总量是多

2020-08-05 14:57:25 470

空空如也

空空如也

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

TA关注的人

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