自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kimroniny的博客

记录平时的个人笔记,如果能对广大朋友起到帮助作用,那我他妈得兴奋死

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 Leetcode 0863.二叉树中所有距离为 K 的结点

最终的节点集合有两种情况: 属于target节点的子节点(包括target节点本身) 属于target节点的祖先节点的子节点 针对第一种情况: 直接深搜遍历target节点的左子节点与右子节点即可 针对第二种情况: 从root节点遍历到target节点,保存target的所有祖先节点、祖先节点 到target节点的距离,以及target节点位于祖先节点的哪个子树。 然后对所有的祖先节点进行深搜,遍历到对应的距离即可。 特殊情况 k = 0 target节点就是root节点v ...

2021-08-05 11:28:04 72

原创 Leetcode 1104. 二叉树寻路

重点在于转换为数学计算。 注意下标从1开始,会影响计算方式。 对于label,要判断是处于奇数行还是偶数行 row = int(math.Log2(float64(label))) + 1 // 不要忘记 +1 奇数行: 说明当前label是调换顺序之后的,由于每一行首尾相加之和是固定的,不会因为顺序倒置而放生变化,所以可以计算调换顺序之前的real_label,然后计算当前label的父节点的值 real_label = pow(2, row-1) + pow(2, row+1) - 1 - label

2021-08-05 11:27:33 69

原创 Leetcode 0743. 网络延迟时间

三种方法来练手 BFS 使用队列保存每一个将要访问的节点 i,并将节点 i 的标志位 flag[i] 置为 false, 入队时置为 true for h < len(queue) { v := queue[h] for _, edge := range edges[v] { if cost[edge.v] > cost[v]+edge.time || (cost[edge.v] == -1) { cost[edge.v] = cost[v

2021-08-05 11:26:41 64

原创 Leetcode 0581. 最短无序连续子数组

两种方法: 排序 时间复杂度 O(NlogN) . 这种方法很容易理解, 比对排序前后的数组, 找到元素不相同的首尾位置即可 . 定界 时间复杂度 O(N) . 分成三个区间, 左区间是递增的, 右区间是递增的, 中间区间并不一定是目标区间, 目标区间要比中间区间更大, 因为左区间递增的元素有可能大于等于中间区间的元素, 同理, 右区间递增的元素有可能小于等于中间区间的元素. 因此需要中间区间的最小最大元素需要各自向左右区间拓展, 找到他们的边界. 但是在寻找边界的过程中, 有可能会遇到比中间区间最小元素更

2021-08-05 11:25:48 83

原创 Leetcode 0611. 有效三角形的个数

这种在有序数组中, 确定了一个数字, 找另外一个数字的题目, 一般都可以用二分法. 这个题目除了二分, 还有另外一种做法: 在确定了一个数字之后, 另外两个数字在朴素情况下, 是可以用过两个循环来遍历查找, 但是由于是有序数组, 而且三个数字之间有大小约束关系, 所以某些数字确定不可行之后, 其后的数字都可以确定为不可行, 就不需要遍历了, 利用这个特点, 就可以使用双指针来遍历. func triangleNumber(nums []int) int { l := len(nums) ans := 0

2021-08-05 11:24:59 98

原创 Leetcode 0802. 找到最终的安全状态

这道题主要是理解题意.无论走哪条路都能到达终点(没有出度的点),所以如果某个点处于环中肯定是不可以的.解决有向环的话,肯定使用拓扑排序了. 终点即没有出度的点,而拓扑排序面向入度为0的点,所以先建立反向边. 求解拓扑排序用队列,把每个入度为零的入队,不要遍历每个顶点,然后判断入读是否为0 funceventualSafeNodes(graph[][]int)[]int{ varnint varin[]int varresult[]...

2021-08-05 11:22:34 39

原创 [论文研读] Enabling Concurrency on SmartContracts Using Multiversion Ordering

目标 矿工产生区块之后,该区块会被多个验证节点进行验证,执行多次,因此提高智能合约的并行化,尤其是验证阶段的并行化,可以提升整个平台的效率和吞吐量。 贡献 提出MVTO并发机制。矿工使用任意的并发控制机制来产生冲突调度,验证者使用MVTO机制确定性并发重放该调度。 方法 矿工: 可以使用任意的并发机制来并发执行交易,执行结束后需要生成以下两个信息: 每笔交易的写集; 所有交易的一个串行序列;(其实主要是为了给有冲突的交易确定顺序) 验证者: 每笔交易的状态有四种:Init、Active、A

2021-07-21 14:45:22 203 1

原创 golang 设置代理

go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct

2021-07-06 19:12:24 1123

原创 [论文研读] An Empirical Study of Speculative Concurrency in Ethereum Smart Contracts

这篇文章主要是运用动态并行的方案对以太坊历史交易进行了分析,该总结主要是把重要的分析结果呈现出来,方便以后使用。 目标 使用以太坊历史数据来估计智能合约采用动态并行方案的速度提升效果。 “speculative”的愿意是“投机的、推测的”,但是区块链交易并行的场景下我认为最好是翻译成“动态的”,因为这和另外一种并行方案“静态”分析相照应。 贡献 1. 即使是简单的动态策略也返回非平凡的加速效果; 2. 随着交易量提升,加速效果在降低; 3. 读写操作的区分很重要。如果只把他们视为统一个冲突集,

2021-07-05 20:35:51 242

原创 [论文研读] Adding Concurrency to Smart Contracts

1 Motivation 区块内交易按照顺序一个个执行限制了系统吞吐量,没有利用现代计算机系统多核资源进行并发计算。因此需要并行执行区块内交易。 2 Contribution 矿工动态并行执行区块内交易的方法; 验证者可以验证矿工指定的交易并行执行序列的正确性,并根据该序列确定性地、并行地来验证矿工的执行结果; 使用JVM和ScalaSTM实现了原型。对于矿工而言,有1.33倍的提升,验证者有1.69倍的提升。 3 Method Miner 每一次合约调用(包括嵌套调用)视为一个ACTION;

2021-07-02 17:06:23 1960 1

原创 [论文研读] ACE: Asynchronous and Concurrent Execution of Complex Smart Contracts

目标 提高合约的可执行复杂度,可以理解为:相同的吞吐量下,区块内交易可执行时间越长,则可执行复杂度越高(即可执行时间越长)。 以以太坊为例,为了保持良好的吞吐量,那么出块间隔会尽可能的减小,于是区块内交易执行与验证的时间就会减少,从而限制交易的可执行复杂度。 该model并不是为了改进或者提升以太坊而提出,是一种新的合约并行执行model。 个人认为,文章中用 gas 来说明复杂度是不合适的,因为一个区块内的gas总和是有限制的,交易并行是无法摆脱这个限制的,因为无论交易是否并行执行,gas的总和始终是不

2021-06-29 13:09:31 2677

原创 opencv 使用基础

安装 **系统:**win10 64位 **python:**Anaconda, python3.6 pip install --upgrade setuptools pip install numpy Matplotlib pip install opencv-python 遇到的问题: cv2.imread(imagefile) 结果为none 看到网上解释要pi...

2018-05-14 09:48:59 126

原创 git的一些基本操作

Git基础学习笔记今天简单学习了一下git的一些知识和基本的命令,写在这里吧,我现在的弱智水平,这些应该差不多了。

2017-08-25 17:02:36 190

原创 排序算法代码总结

代码包含: 1. 随机化函数 2. 快速排序 3. 归并排序 4. 堆排序 代码进行了一些精简,方便做题时应用#include<ctime> #include<cstdlib> #include<cstdio> #include<iostream> using namespace std; int a[20000], b[20000], c[20000], h[20000], q[2000

2017-08-24 10:30:16 129

原创 寨北社区党员分享会

在寨北社区作为入党积极分子的分享

2017-08-21 22:41:49 240

原创 Add More Zero个人解题心得

Add More Zero Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1595    Accepted Submission(s): 1020 Problem Description There is a

2017-08-16 22:19:34 294

原创 BalalaPower个人解题心得

点击打开HDU直通车   Balala Power! Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 5843    Accepted Submission(s): 1481 Pr

2017-08-16 22:06:58 471

转载 Mysql忘记密码!!!!

http://blog.csdn.net/yabingshi_tech/article/details/53423395 直接copy人家的链接了, 找了好几个小时,终于找到了正确的解决方法!!!!

2017-02-23 18:30:18 199

区块链技术指南

权威区块链专家联袂推荐,资深区块链践行者联合撰写,从技术层面全面揭示区块链技术秘密。涵盖基础概念、架构、底层算法、应用开发、典型的区块链解决方案、常见问题等读者*为关心的技术与应用。

2019-03-04

空空如也

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

TA关注的人

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