算法介绍(3) 编辑距离算法-字符串相似度

编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。 具体的操作方法为: 1.修改一个字符(如把“a”替换为“b”)。 2.增加一个字符(如把“abdd”变为“aebdd”)。 3.删除一个字符(如把“travelling”变为“traveling”)。 具体算法过程可按一下步骤进行: 设 L(i,j)为使两个字符串和Ai和Bj相等的最小操作次数。 当ai==bj时 显然 L(i,j) = L(i-1,j-1) 当ai!=bj时    若将它们修
分类: 其他 发布时间: 01-01 23:48 阅读次数: 0

Python(3) python __init__()初始化及继承的实现

这篇文章介绍python中class类初始化函数__init__()实现类属性的显示表示,及python中类的继承的实现。 如下,有父类Animal,在fClass.py中。 class Animal: def __init__(self, age): self.age = age print("Animal初始化") def walk(self): print("walk") def eat(self):
分类: 其他 发布时间: 01-01 23:48 阅读次数: 0

Python(3) python小知识--reduce(), range(), lambda

reduce()函数也是Python内置的一个高阶函数。 reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。 例如,编写一个f函数,接收x和y,返回x和y的和: 1 2 def f(x, y): return x + y 调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算: 1 2
分类: 其他 发布时间: 01-01 23:48 阅读次数: 0

Python(4) 用Python破解有道翻译反爬虫机制

web端的有道翻译,在之前是直接可以爬的。也就是说只要获取到了他的接口,你就可以肆无忌惮的使用他的接口进行翻译而不需要支付任何费用。那么自从有道翻译推出他的API服务的时候,就对这个接口做一个反爬虫机制(如果大家都能免费使用到他的翻译接口,那他的API服务怎么赚钱)。这个反爬虫机制在爬虫领域算是一个非常经典的技术手段。那么他的反爬虫机制原理是什么?如何破解?接下来带大家一探究竟。 一、正常的爬虫流程: 如果你要爬取他的翻译接口,这个流程还是不能少的。首先我们打开有道翻译的链接:http://f
分类: 其他 发布时间: 01-01 23:48 阅读次数: 0

Python(5) Numpy中array的切片相关操作

在交叉验证中经常需要轮流从数组中取出一些内容,此时需要对数组做一些切片以及shape, rashape的操作,总结如下: import numpy as np #构造数组 a = [i for i in range(100)] a = np.array(a) a_size = a.shape a = np.reshape(a, (10, 10)) print('a:') print(a) print('############################################
分类: 其他 发布时间: 01-01 23:47 阅读次数: 0

java(2) java写状态机类

曾经有这样一个脑筋急转弯:把一头大象放进冰箱需要几步?当然了,这是一个老梗了,可能连三岁小孩都能毫不犹豫地回答出来:3步;打开,塞进去,再关上。或许,作为一个老梗,它已经笑果不佳,但如果我们从新的角度去分析,也能发现新的价值。从把大象塞进冰箱这个过程思考,有三个非常明确的步骤: 1.打开冰箱门 2.把大象塞进去 3.关上冰箱门 如果从算法的角度来看,这就是一个典型的算法,符合了算法的有穷性,确定性,至于可行性的话,至少理论上是可行的。 再换种角度,如果从冰箱和大象所处的状态的分解这个问题,我们
分类: 其他 发布时间: 01-01 23:47 阅读次数: 0

Javascript (1) Javascript类的实现及应用

本篇简单介绍javascrpt类的相关内容,具体内容如代码所示,对有面向对象编程经验的同学提供一个简易的参考。 class SimpleData{ constructor(year, month, day){ this._year = year; this._month = month; this._day = day; } getDay(){ return this._day; } getYear(){ return this._year; } }
分类: 其他 发布时间: 01-01 23:47 阅读次数: 0

d3笔记(1) - d3元素选择器及数据绑定的理解

以下贴出代码,读者可以通过控制台输出体会选择器和数据绑定。 <!doctype html> <html> <head> <script src="d3.js"></script> </head> <body> <div><p></p><p></p><p></p><p></p></div> <div><p></p><p></p><p></p><p></p></div> <div><p></p><p></p><p></p><p></p></div> <div><p></p><p>
分类: 其他 发布时间: 01-01 23:47 阅读次数: 0

Workbean

package com.example.work1.bean; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class Workbean { publi
分类: 编程语言 发布时间: 01-01 23:46 阅读次数: 0

hdu 4587 TWO NODES(tarjan算法 删两个点求最多剩余联通分量)

TWO NODES Time Limit: 24000/12000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 3091 Accepted Submission(s): 974 Problem Description Suppose that G is an undirected graph, and the value of stab is defined as follows
分类: 编程语言 发布时间: 01-01 23:46 阅读次数: 0

剑指offer 2. 不修改数组找出重复的数字

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaohaibo_/article/details/85543676 给定一个长度为 n+1 的数组nums,数组中所有的数均在 1∼n 的范围内,其中 n≥1。 请找出数组中任意一个重复的数,但不能修改输入的数组。 样例 给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 或 3。 思考题:如果只能使用 O(1) 的额外空间,该怎么做呢? 把数组分为 [l,mi
分类: 编程语言 发布时间: 01-01 23:45 阅读次数: 0

json工具类:object与json的相互转换, listjson的相互转换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiao__jia__jia/article/details/85543294 json工具类:object与json的相互转换, listjson的相互转换 t添加pom.xml的依赖 <dependency>       <groupId>org.apache.commons</groupId>       <artifactId>commons-lang3</artifactId>    
分类: 编程语言 发布时间: 01-01 23:45 阅读次数: 0

剑指Offer - 和为S的两个字(Java实现)

题目描述: 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 思路分析: 假设a<b,则ab>(a-1)(b+1)。这说明,从左侧开始先找到的数肯定是乘积最小的数。所以开始的思路就是从左侧开始遍历,直到找出满足条件的两个数放入集合中。但是这样的话,递增排序的数组的这一个条件就基本上没用上,而且时间复杂度是大于O(N)的。所以根据题意以及分析可知,可以采用头尾双
分类: 编程语言 发布时间: 01-01 23:44 阅读次数: 0

33、第一个只出现一次的字符

题目描述:   在字符串中找出第一个只出现一次的字符。如输入"abaccdeff",则输出’b’。要求时间复杂度为O(n)。 解题思路:   为了解决这个问题,我们可以定义一个哈希表(外部空间),其键值(Key)是字符,而值(Value)是该字符出现的次数。   同时我们还需要从头开始扫描字符串两次: 1. 第一次扫描字符串时,每扫描到一个字符就在哈希表的对应项中把次数加1。(时间效率O(n))。 2. 第二次扫描时,每扫描到一个字符就能从哈希表中得到该字符出现的次数。这样第一个只出现一次的字
分类: 编程语言 发布时间: 01-01 23:44 阅读次数: 0

剑指offer 3. 二维数组中的查找

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaohaibo_/article/details/85543704 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 样例 输入数组: [ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15] ] 如果输入查找数值为
分类: 编程语言 发布时间: 01-01 23:44 阅读次数: 0

傻鸡抓大闸蟹

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lzyws739307453/article/details/85543292 题目链接:http://120.78.162.102/problem.php?id=6252 时间限制: 1 Sec 内存限制: 128 MB 背景 又到了吃大闸蟹的季节,黄老师想吃大闸蟹,于是叫傻鸡去抓大闸蟹~ 题目描述 现有n只大闸蟹,每个在一个二维坐标上,保证没有任何两个大闸蟹重合。傻鸡伸手抓大闸蟹了,他怕大闸蟹
分类: 编程语言 发布时间: 01-01 23:44 阅读次数: 0

leetcode刷题181

题目描述 解法代码 SELECT E1.Name AS Employee FROM Employee AS E1,Employee AS E2 WHERE E1.ManagerId=E2.Id AND E1.Salary>E2.Salary; SQL知识点 自联结
分类: 编程语言 发布时间: 01-01 23:43 阅读次数: 0

Ubuntu环境Hadoop安装总结

版权声明:转载请注明出处。 https://blog.csdn.net/Xin_101/article/details/85530074 1 ssh连接失败 1.0 连接测试 ssh localhost 1.2 问题 ssh: connect to host localhost port 22: Connection refused 1.3 原因 未安装ssh-server. 测试: # 命令 ps -e | grep ssh # 结果 1153 ? 00:00:07 ss
分类: 编程语言 发布时间: 01-01 23:43 阅读次数: 0

c++11多线程中的互斥量

写在前面 在多线程程序中互斥量的概念十分重要,要保护线程之间的共享数据,互斥量的lock、unlock、try_lock函数,以及类模板lock_guard、unique_lock十分重要 栗子 首先先看一下,没有再共享数据上做任何保护的程序: #include <iostream> #include <string> #include <thread> #include <list> #include <mutex> class MesProcess { public: void In
分类: 编程语言 发布时间: 01-01 23:43 阅读次数: 0

Java中的工厂设计模式

Java中的工厂设计模式 欢迎到工厂设计模式在Java教程。Factory Pattern是Creational Design模式之一,它在JDK以及Spring和Struts等框架中得到广泛应用。 目录[ 隐藏 ] 1工厂设计模式 1.1工厂设计模式超级 1.2工厂设计模式子类 1.3工厂类 1.4工厂设计模式的优点 1.5 JDK中的工厂设计模式示例 1.6工厂设计模式YouTube视频教程 工厂设计模式 当我们有一个具有多个子类的超类并且基于输入时,使用工厂设计模式,我们需要返回其中一个
分类: 编程语言 发布时间: 01-01 23:42 阅读次数: 0