基础算法
机器学习渣硕,知识回顾!!!
mambasmile
机器学习的新手。
展开
-
求最长公共子序列和最长公共子串
#coding=utf-8 """求最长公共子串""" def lcsubstr(str1,str2): dp = [[0 for i in xrange(str2.__len__()+1)] for i in xrange(str1.__len__()+1)] count = 0 index = 0 for i in xrange(str1.__len__()...原创 2018-09-16 11:58:31 · 132 阅读 · 0 评论 -
求最大公约数和最小公倍数
####求最大公约数:辗转相除法 def maxcommonDivisor(num1,num2): while num2!=0: tmp = num1%num2 num1 = num2 num2 = tmp return num1 ###求最小公倍数:两个数相乘,然后除于最大公约数 def mincommonMultiple(nu...原创 2018-09-16 11:23:16 · 216 阅读 · 0 评论 -
深度优先搜索和广度优先搜索
#!/usr/bin/python # -*- coding: utf-8 -*- class Graph(object): def __init__(self,*args,**kwargs): self.node_neighbors = {} def add_nodes(self,nodelist): for node in nodelis...转载 2018-09-09 16:23:15 · 201 阅读 · 0 评论 -
堆排序
"""调整节点,使得满足大顶堆""" def Max_Heapify(heap,heapSize,root): left = root*2+1 right = left+1 large = root if left<heapSize and heap[left]<heap[large]: large=left if right&...原创 2018-07-27 20:40:11 · 137 阅读 · 0 评论 -
双指针问题
双指针可用于多种情景之下,用于查找数组中满足条件的数,#coding=utf-8 ###查找三个数加起来等于0 def findThreeSum(nums,target=0): nums.sort() res = [] for left in xrange(nums.__len__()): if left > 0 and nums[left] == ...原创 2018-07-05 20:35:17 · 174 阅读 · 0 评论 -
校招全国统一模拟笔试技术类编程题参考题解(六月)
题目:一闪一闪亮晶晶,满天都是小星星,牛牛晚上闲来无聊,便躺在床上数星星。牛牛把星星图看成一个平面,左上角为原点(坐标为(1, 1))。现在有n颗星星,他给每颗星星都标上坐标(xi,yi),表示这颗星星在第x行,第y列。现在,牛牛想问你m个问题,给你两个点的坐标(a1, b1)(a2,b2),表示一个矩形的左上角的点坐标和右下角的点坐标,请问在这个矩形内有多少颗星星(边界上的点也算是矩形内)。#i...原创 2018-07-12 15:14:23 · 308 阅读 · 0 评论 -
算法题目
leetcodepython快速排序:def quickSort(num): if num.__len__() < 2: return num left,right = [],[] base = num.pop() for val in num: if val < base: left.append(val) ...原创 2018-07-12 10:46:47 · 271 阅读 · 0 评论