- 博客(23)
- 收藏
- 关注
原创 MacOS安装多版本Java环境
因为通过oracle官网下载很慢,并且还得很麻烦的注册,所以我们可以选择国内镜像网站下载相应的资源。这里推荐里面对应的下载页面,有各种版本的镜像地址;下载完成之后直接按照操作点击安装就行。安装完成之后,在命令行中输入java -version,显示如下表示安装成功(以Java8为例子)
2022-12-08 22:22:31
3849
原创 levelDB编译失败
在按照levelDB官方博客教程中,编译会失败。原始操作和错误信息如下。mkdir -p build && cd buildcmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .原因是googletest和benchmark子模块没有
2021-08-17 21:55:38
3132
4
原创 leetcode25. K 个一组翻转链表
给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3->2->1->4->5来源:力扣(LeetCode)链接:https://lee...
2020-07-18 13:32:05
141
原创 运用递归解决二叉树问题
二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solutio.
2020-06-29 16:37:30
233
原创 [剑指 Offer] 13. 机器人的运动范围
地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?示例 1:输入:m = 2, n = 3, k = 1输出:3来源:力扣(LeetC.
2020-06-28 15:34:59
124
原创 leetcode 209. 长度最小的子数组
给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组[4,3]是该条件下的长度最小的连续子数组。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum解题思路使用滑动窗口求解这道题...
2020-06-28 08:49:31
103
原创 全排列的生成
给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]假设有n个数字,那么就有n个位置;n个位置依次进行选择,0位置有n种选法,1位置有n-1种选法,。。。n-1位置只有一种选法。class Solution: def permuteUnique(self, nums: List[int]) -> List[List[int]]: res = []
2020-06-27 17:39:32
100
原创 剑指 Offer 07 已知前序遍历和中序遍历的结果,请重建该二叉树 python
根据前序遍历的结果划分后序遍历结果为左右子树,递归实现。# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def buildTree(self, preorder: List[int], i
2020-06-26 14:56:34
151
原创 [剑指 Offer] 12. 矩阵中的路径 Golang
深度优先搜索,每次向上下左右四个方向搜索。func exist(board [][]byte, word string) bool { flag := make([][]byte,len(board)) for i:= range flag{ flag[i] = make([]byte,len(board[0])) } for i:= range board{ for j:= range board[0]{ if
2020-06-26 14:50:23
191
原创 [剑指 Offer] 38 字符串的排列
排列方案的生成方法: 根据字符串排列的特点,考虑深度优先搜索所有排列方案。即通过字符交换,先固定第 1位字符( n种情况)、再固定第2位字符( n−1 种情况)、... 、最后固定第 n位字符( 1种情况)。class Solution: def permutation(self, s: str) -> List[str]: s = [c for c in s] def backtrace(start): if start==...
2020-06-26 14:45:21
103
原创 剑指 Offer 32 从上到下打印二叉树
二叉树的层次遍历,借助一个队列,每次弹出队列的头节点,只要其子节点不为空,入队。# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def levelOrder(self, root: Tre
2020-06-26 14:40:37
150
原创 python常见字符串操作
1.字符长大小写转换str = "hello world"print(str.upper()) # 把所有字符中的小写字母转换成大写字母print(str.lower()) # 把所有字符中的大写字母转换成小写字母print(str.capitalize()) # 把第一个字母转化为大写字母,其余小写print(str.title()) ...
2020-05-03 10:53:21
248
转载 常见的进程间通信方式
常见的通信方式:1. 管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。2. 命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。4. 消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字...
2020-04-29 15:19:39
374
原创 SGD相对于GD的长处在哪里?
Prat I: 相对于非随机算法,SGD 能更有效的利用信息,特别是信息比较冗余的时候。Prat II:相对于非随机算法, SGD 在前期迭代效果卓越。Prat III:如果样本数量大,那么 SGD的Computational Complexity 依然有优势。参考:https://zhuanlan.zhihu.com/p/28060786...
2020-03-04 20:49:44
653
原创 Python对象池
python语言中有这样一个机制,那就是字符串赋值给不同的变量,而那两个变量却指向同一个对象,例子:>>> a=1>>> b=1>>> a is bTrue>>> a='hello'>>> id(a)1845714318032>>> b='hello'>>&...
2020-03-01 16:30:22
188
原创 pytorch中squeeze()和unsqueeze()函数的作用
squeeze()的函数定义:torch.squeeze(input,dim=None,out=None)→ Tensor返回一个张量,其中所有大小为1的输入的维都已删除。举个例子,如果输入张量的shape为(A×1×B×C×1×D) ,那么输出张量的shape是(A×B×C×D).如果指定了dim,则仅在给定维度上执行挤压操作。如果输入的形状为:(A×1×B),则sque...
2020-02-29 21:51:12
1373
原创 离线下载安装NLTK的nltk_data数据包
本来NLTK可以通过简单的nltk.download()下载所需要的文件,但是,这会出现网络问题,非常慢,甚至直接连不上。所以我们需要离线下载nltk_data。一、下载数据文件 官方数据在https://github.com/nltk/nltk_data/tree/gh-pages中,不过,在github上下载文件也挺慢的。所以,这里我们可以去码云上找到对应的项...
2020-01-08 18:21:20
17747
14
原创 网络节点最小覆盖问题 ; 演化博弈
问题描述:验证:当雪堆博弈满足 时,网络博弈的纳什均衡中的采用合作策略的节点构成极小节点覆盖。(作业:自己编程序验证这个结论,网络可自定,节点数目不少于20)网络节点最小覆盖问题, 是一个著名组合优化问题,其目的在于找出给定网络的最小节点集合以覆盖所有的边。 极小节点覆盖:节点集合中去掉任何一个点,就不能覆盖网络所有边。最小节点覆盖:极小节点覆盖中节点数目最少的。如何找到网...
2019-12-30 16:55:13
2732
2
原创 在python虚拟环境中使用主环境中的package
有的时候,我们可能在使用python虚拟环境的时候需要用到一些已经在主环境中下好的package,这个时候可能没有必要再下一次。可以添加两行代码就可以调用主环境中的package了。importsyssys.path.append(r"D:\Python\Lib\site-packages")#第二行是我的python主环境的site-packages的目录,同理也可使用其它虚拟环...
2019-10-09 22:30:46
1165
2
原创 'float' object has no attribute 'sqrt'
在numpy使用的过程中出现 AttributeError: 'float' object has no attribute 'sqrt' 错误。在StackOverflow上找到了一个类似的问题,链接。它那个是求exp问题。出现这个问题的原因:错误消息似乎暗示numpy被解释为浮点数。所以,要解决这问题你只要把出错的数据转换为np.float32,或者np.flaot64 就行了...
2019-10-02 10:44:09
8385
原创 全新版windows terminal 更换背景
最近,微软发布了新版的 windows terminal ,在这里我记录一下如何更换其背景的步骤。首先你可以在 windows store 中下载 Windows terminal ,可以通过 win+ r ,然后输入 wt 打开新版windows terminal,然后点击setting进入profiles.json文件。第二步,要更改任何shell的背景,首先需要将图像文件放在T...
2019-07-30 12:22:45
2811
原创 Python语言base64加解密简单应用
首先,我们先了解一下base家族加解密的方式:ASCII 是用128(2的8次方)个字符,对二进制数据进行编码的方式base64编码是用64(2的6次方)个字符,对二进制数据进行编码的方式base32就是用32(2的5次方)个字符,对二进制数据进行编码的方式base16就是用16(2的4次方)个字符,对二进制数据进行编码的方式这里举一个百度百科里base64的例子(base原理...
2019-01-05 17:27:45
406
原创 ARP协议及局域网断网攻击(scapy)
ARP协议攻击地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主...
2018-11-22 22:26:45
1680
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人