- 博客(32)
- 收藏
- 关注
原创 实体和事件提取算法
一般一句话往往有多个实体,而核心事件只有一个。因此围绕一个事件的核心主体提取是一个值得思考和学习的问题。在特定的场景下,我们认为事件是可枚举的,因此使用多分类任务就可以实现对事件的预测。第一步,利用bert进行文本分类output_layer = model.get_pooled_output()#bert得到句向量hidden_size = output_layer.shape...
2020-01-27 21:10:59
2284
2
原创 'abrt-cli status' timed out
看了好多帖子都不试用:我用的centos系统,当我改变了anaconda的lib路径后,source ~/.bashrc一直报错,主要是anaconda的lib里面有一个.so版本太高了,需要从 usr/lib64拷贝liblzma.so.5.2.2到anacoda/lib下面。然后cd /home/anaconda3/lib/sudo ln -s -f liblzma.so.5....
2019-10-31 20:34:04
6419
1
原创 ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control character
在网页爬虫时,当出现上述问题,原因是一些控制字符(unicode)的问题,因此需要删除控制字符,如下:def remove_control_characters(html): def str_to_int(s, default, base=10): if int(s, base) < 0x10000: return chr(int(s, ...
2019-09-09 14:08:46
3517
原创 查看tensorflow里面Graph中所有的tensor
print([n.name for n in graph.as_graph_def().node])
2019-05-21 17:55:09
3304
原创 数组元素的全排列算法,重复全排列算法,子集求解算法,任意排列算法
输出字符数组的全排列,这个问题利用递归的方式比较简单。数组的重复全排列与全排列的区别主要相当于(有放回还是没有放回)。输出字符数组的所有排列,包括全排列,单个元素,多个元素的排列,这就稍微有点复杂了,比较好的思路就是先对数组进行子集的提取,然后对每一个子集进行全排列。子集的获取有两种途径,第一个循环的方法,主要就是利用与数组等大小的二进制数(数学中非空子集的个数=(2^size)-1),因...
2018-09-04 10:29:01
969
原创 C++中map的使用——用map解决“输出数组中和为定值的所有两(三)个数的组合”
思路:将数组中的数,按照数值—频率的形式储存到一个字典(map)中,然后对任意的键key,寻找另一个键key1 = sum - key,分三种情况,key1==key,key1!=key,key1不存在。注意每次计算完一对数,则将其从字典中删除。三的数相加的情况是两个数相加的 拓展,遍历所有键,对除去当前键的字典进行上述(两个数和)的算法。# include<iostream>...
2018-08-22 15:04:20
1534
原创 快速排序算法的拓展和应用(寻找前k个最小值,寻找数组中数量超过一半的值)
# include <iostream># include <vector>using namespace std;//快速排序算法int Partition(vector<int>* a, int begin, int end){ int i = begin; int j = end; int key = (*a)[beg...
2018-08-21 14:38:30
579
原创 全排列算法代码实现,以及用全排列解决八皇后问题(C++代码实现)
全排列算法(字符串的全排列和数组容器的全排列)算法:# include <iostream># include <vector>using namespace std;void begin_arrange(string& s, unsigned int begin);void arrange_string(string& s){ if...
2018-08-21 10:50:13
724
原创 一维指针(单个元素指针,一维数组的指针),二维指针,指针的数组,数组的指针(与二维数组的关系)
#include <iostream>using namespace std;int main(){ //初始化单个指针 int *p = new int(2); //初始化指针数组 int *p1 = new int [2]; *p1 = 1; *(p1 + 1) = 2; //初始化二维指针 int **...
2018-08-15 23:28:23
508
原创 寻找(int)数组中单独出现的数字(位运算)
# 寻找数组中单独出现的数字class Solution: def find2nums(self,L): if len(L) == 0: return None else: i = 0 # 遍历数组 while i < (len(L)-1): ...
2018-08-07 20:21:02
406
原创 两种链表排序法(快速排序和合并排序)
# 链表快速排序class nodelist: def __init__(self,x): self.val = x self.next = Noneclass Solution: def sort(self,phead): if phead == None: return None el...
2018-08-06 20:52:18
849
原创 n points on a 2D plane, find the maximum number of points that lie on the same straight line(python)
# Definition for a point.# 寻找最大共线的点的数量class Point: def __init__(self,a=0.0,b=0.0): self.x = float(a) self.y = float(b)class Solution: # 求取两点间的斜率 def compute_rate(self,p...
2018-08-06 10:50:58
295
原创 图像联通域大小计算——阿里巴巴视觉方向笔试题
# 区域生长法class Solution: def area(self,matrix): if len(matrix) != 0 and len(matrix[0]) != 0: # 模板矩阵,判断是否遍历过 mask = [[0]*len(matrix[0]) for i in range(len(matrix))]...
2018-08-01 10:48:03
371
原创 阿里第二轮面试——手写代码(二叉树的深度,递归和循环两种解法)
# 确定二叉树的深度值,(python法)# 阿里第二轮面试题(递归法)class Treenode: def __init__(self,x): self.val = x self.left = None self.right = Noneclass Solution: def finddepth(self,phead):...
2018-08-01 10:11:08
2570
原创 详解SLAM中的两种常用的三角化求解地标点的方法
ORB中三角化算法:已知第一帧的位姿为,,第二帧的位资为,,则地标点3D坐标的求解过程如下:OKVIS中的三角化算法: 其中和分别属于点P在A帧和B帧中的归一化相机坐标系下的三维坐标(d=1),解的X后,分别为两帧的深度dA和dB, 则P在B帧中的坐标为:,同理P在A...
2018-07-30 22:20:58
6956
原创 广度遍历二叉树(Python)
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Nonea1 = TreeNode(10)a2 = TreeNode(5)a3 = TreeNode(12)a4 = TreeNode(4)a5 = TreeNode(...
2018-07-29 23:08:39
330
原创 二叉树遍历—(Python递归方法)
前序遍历:class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = NoneX = []def qianxu(pHead): if pHead == None: return None # 先于...
2018-07-28 00:48:33
789
原创 C++读取txt文件,并利用ROS将其作为数据流输出
#include "ros/ros.h"#include "std_msgs/String.h"#include <sstream>#include <iostream>#include <vector>#include <string>#include <fstream>using namespace std;
2018-07-27 10:02:07
4006
原创 (Python)请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径
# 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。# 路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。# 如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 # 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,# 但是矩阵中不包含"ab...
2018-07-26 22:58:43
1650
原创 stl 容器学习对比
几种容器的比较1)vector内部数据结构:数组。在末尾增加或者删除元素所需时间与元素数目无关,在中间或者开头增加或者删除元素所需时间是随元素数目呈线性变化。常用函数,push_back,insert,pop_back。2):deque内部数据结构是:数组随机访问每个元素,所需要的时间为常量。在开头和末尾增加元素所需时间与元素数目无关,在中间增加或删除所需时间随元素数目...
2018-07-23 23:22:29
164
原创 三种二叉树遍历的算法(python实现)
前序遍历(根节点-左孩子,右孩子)#前序遍历class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: def __init__(self): self.X = []...
2018-07-22 22:33:15
1474
原创 快速排序法和合并排序法——Python实现
# 快速排序法class Solution: def sort(self,a): first = 0 last = len(a) - 1 # 这里需要注意的是,需要将a整体作为迭代变量 # 因此也需要将first和last作为迭代变量 # 这是因为python中输入数组后,如果分割数组作为下一次迭代,原数组...
2018-07-22 11:00:40
347
原创 (python)请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
# 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,# 第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。# -*- coding:utf-8 -*-class TreeNode: def __init__(self, x): self.val = x self.left = None s...
2018-07-21 16:09:53
684
原创 (Python)# 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的.
# 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的.class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: def is...
2018-07-21 14:54:35
1281
原创 (Python)给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
# 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。class TreeLinkNode: def __init__(self, x): self.val = x self.left = None self.right = None se...
2018-07-21 14:20:14
924
原创 剑指offer——在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点, # 重复的结点不保留,返回链表头指针。
# 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,# 重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5# -*- coding:utf-8 -*-class ListNode: def __init__(self, x): self.val ...
2018-07-20 22:38:59
1315
原创 python读取中文(日文,韩文)文件(codecs.open与普通open的区别和使用方法)
读取文件,首先需要知道:一般我们使用open打开读取文件时,得到的结果一般是已经编码后的结果,编码的方式就是原先文本的编码方式。比如用utf-8格式的文件,得到的结果存入列表中为utf-8格式。如果想要查看unicode编码,我们需要对utf-8进行解码,比如:(如下例子):print ['\xec\xa0\x95']print ['\xec\xa0\x95'.decode("utf-8"...
2018-07-20 18:46:41
7034
原创 金钱找零问题,招行笔试题
题目为:给定N元钱,然后有A种小额钱的单位,如10钱,用1,2,3元钱找零。解题思路:从最高单位钱开始,判断可能存在几个最高单位钱,比如10块钱,可能存在[0:int(10/3)]个3元钱,然后对每种包含3元钱的情况,依次往下递推,得到除去三元钱还剩10-3*k,其中,同时将3从A集合中剔除,得到下一次的递归。终止判定有两种,一种是A集合中还有小额单位,但是钱换算完成,即N=0,还有一种是A集...
2018-07-20 12:24:58
343
原创 剑指offer【[编程题]字符流中第一个不重复的字符】——Python实现
# -*- coding:utf-8 -*-class Solution: # 返回对应char def __init__(self): self.c = "" self.d = {} def FirstAppearingOnce(self): for s in self.c: if self.c....
2018-07-20 12:08:32
450
原创 阿里nlp2018初赛算法,Python代码
主要是用lightmbg库:# coding: utf-8# In[1]:# -*- coding: utf-8 -*-import sysstdi,stdo,stde=sys.stdin,sys.stdout,sys.stderr reload(sys)sys.stdin,sys.stdout,sys.stderr=stdi,stdo,stde # 合并两个csv文件...
2018-07-20 11:42:02
1072
4
原创 最小生成树问题,python解法
思路很简单:主要是创建两个集合,一个表示已经遍历过的节点集合S,另一个表示还没有遍历过的节点W,算法的主要思想借鉴了prim算法,但是我没有尽行归并操作,直接遍历S和W中的点,寻找最短的边,从W中删除,并加入S中,本文参考:https://blog.youkuaiyun.com/qq_35644234/article/details/59106779,主要Python算法代码如下:# 最小生成树,动...
2018-07-20 11:07:07
2229
原创 Python求解tsp问题(动态规划,简单易懂)
解题思路主要有两部分: 第一部分:i为当前节点(城市),S为还没有遍历的节点(城市集合),表示从第i个节点起,经历S集合中所有的点,到达终点的最短路径长度。因此有: 第二部分,回溯,找到最优的路径,需要将S集合一一对应一个数字(类似于编码,一般用二进制),不如,然后比如从节点i等于0开始,未经历集合为,而下一步最优的节点 j 等于2,那么,回溯时只用从向后推即可,例如,代...
2018-07-20 10:47:41
19855
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人