
数据结构
z2539329562
这个作者很懒,什么都没留下…
展开
-
在KMP基础上添加最大子串匹配功能
'''kmp algorithm for string在字符串匹配的基础上添加了匹配最大长度子串的功能'''def match_KMP(target, pattern, pnext): t_len, p_len = len(target), len(pattern) i, j = 0, 0 max_pattern = [0]*t_len while i &...原创 2018-03-26 09:31:42 · 261 阅读 · 0 评论 -
剑指offer 字符串的排列 Python实现
def list_all(string): new_list_set = [] if len(string) == 1: return string for i in range(len(string)): sub_string = string[:] sub_string.pop(i) result_list...原创 2018-06-25 21:10:41 · 1067 阅读 · 0 评论 -
复杂链表 Python实现 剑指offer
# -*- coding:utf-8 -*-# class RandomListNode:# def __init__(self, x):# self.label = x# self.next = None# self.random = Noneclass Solution: # 返回 RandomListNode ...原创 2018-06-19 21:06:40 · 197 阅读 · 0 评论 -
剑指offer 数组中出现次数超过一半的数字 python实现
# -*- coding:utf-8 -*-class Solution: def MoreThanHalfNum_Solution(self, numbers): start = 0 end = len(numbers) - 1 index = self.qsort_rec(numbers, start, end) mid...原创 2018-07-01 16:19:14 · 425 阅读 · 0 评论 -
剑指offer 树的子结构 Python实现
# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def HasSubtree(self, pRoot1, pRo...原创 2018-06-19 21:52:40 · 438 阅读 · 0 评论 -
剑指offer 二叉树中和为某一值的路径 Python实现
# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: # 返回二维列表,内部每个列表表示找到的路径 def F...原创 2018-06-20 10:56:43 · 539 阅读 · 0 评论 -
Python实现 二叉树遍历六种方式
class TreeNode: def __init__(self, elem, left=None, right=None): self.val = elem self.left = left self.right = rightclass SStack: def __init__(self, max_length=10000)...原创 2018-06-20 11:14:41 · 387 阅读 · 0 评论 -
京东马走日笔试题
start = [0, 0]end = [0, 0]axis = [[1, 2], [2, 1], [2, -1], [1, -1], [-1, -2], [-2, -1], [-2, 1], [-1, 2]]step = 5M = 0startx = []starty = []def horse_run(k): global M for each in axi...转载 2018-06-20 14:10:53 · 356 阅读 · 0 评论 -
剑指offer 平衡二叉树 python实现
# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def IsBalanced_Solution(self, pR...原创 2018-06-20 15:14:37 · 667 阅读 · 1 评论 -
剑指offer 重建二叉树 Python实现
# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: # 返回构造的TreeNode根节点 def reCon...原创 2018-06-20 16:10:12 · 595 阅读 · 0 评论 -
今日头条试题:小明在抖音关注了n个主播,每个主播每天的开播时间是固定的,分别在时刻开始,ti时刻结束
作者:喵咪咪链接:https://www.nowcoder.com/discuss/93459?type=0&order=0&pos=23&page=0来源:牛客网5. 小明在抖音关注了n个主播,每个主播每天的开播时间是固定的,分别在时刻开始,ti时刻结束。小明无法同时看两个直播。一天被分为m个时间单位。请问小明每天最多能完整观看多少个直播?输入描述:第一行一...原创 2018-08-18 09:59:29 · 2798 阅读 · 0 评论 -
在一个一维坐标轴中,给定n个线段起止点(ai,bi) (ai、bi的取值在double范围内), 如何计算所有线段覆盖的总长度,请编程实现。 例子: 给定2个线段(1.5,10),(19,21) 线
假设输入格式为num #线段数... #线段(begin, end)......if __name__ == "__main__": line_position = [] num = int(input()) for i in range(num): #get couple line position str_lst = ...原创 2018-09-07 23:49:03 · 1151 阅读 · 0 评论 -
网易互娱笔试题 两个不同进制的串分离
dict = {"A":10, "B":11, "C": 12, "D":13, "E":14, "F":15}def conversion_numbers(num_str, con): if len(num_str) <= 0: return 0 Sum = 0 for i in range(len(num_str)):原创 2018-09-08 21:08:18 · 320 阅读 · 0 评论 -
给定一个数,求平方根, Python实现,最小二分法和牛顿法
import datetime, timeimport matheps = 0.001def SqrtByBisection(n): #二分法逼近 global eps if n <= 0: return n low = 0 * 1.0 up = n * 1.0 mid = (low + up)/2 last...原创 2019-03-29 11:24:05 · 915 阅读 · 0 评论 -
剑指offer 最大子段和实现 Python
# -*- coding:utf-8 -*-class Solution: def __init__(self): self.begin = 0 self.end = 0 self.valid = True self.max = -10000 def FindGreatestSumOfSubArray(se...原创 2018-06-25 09:36:05 · 443 阅读 · 0 评论 -
二叉搜索树与双向链表,Python实现
class ListNode: def __init__(self, x): self.val = x self.next = Noneclass TreeNode: def __init__(self, x): self.val = x self.left = None self.right = ...原创 2018-06-06 21:14:46 · 506 阅读 · 0 评论 -
python3 链表中删除指定值的节点
class LNode: def __init__(self, elem, next_=None): self.elem = elem self.next = next_def AddToTail(head, elem): if type(head) is not LNode and head is not None:#如果head的类型不是LN...原创 2018-04-09 12:29:33 · 1469 阅读 · 0 评论 -
python实现重建二叉树
class TreeNode: #树节点 def __init__(self, elem, left_child=None, right_child=None): self.elem = elem self.left = left_child self.right = right_childclas...原创 2018-04-10 08:50:32 · 529 阅读 · 0 评论 -
python两个栈实现一个队列
class Stsck: def __init__(self): self.queue1 = [] self.queue2 = [] def push(self, elem): self.queue1.append(elem) def pop(self): if len(self.queue1) == 0:...原创 2018-04-10 10:36:30 · 305 阅读 · 0 评论 -
八阵图代码,目测可行
directions = [(1, 1), (1, 0), (1, -1), (0, -1), (-1, -1), (-1, 0), (-1, 1), (0, 1)]class Solution: def __init__(self, row, col): self.flag_arr = [[0 for i in range(col)] for j in range(r...原创 2018-05-12 09:04:52 · 665 阅读 · 0 评论 -
python在在线笔试输入程序
第一次做笔试,因为不懂怎么标准输入,然后就没有然后了,写了一个比较烂的程序放在这,不要忘记,以后做笔试看一下'''41 22 33 54 7'''class Solution(): def print_num(self, num_list): print(num_list[0], num_list[1])so = Solution()if __na...原创 2018-04-29 15:19:10 · 1850 阅读 · 0 评论 -
python 数组中出现次数超过一半的数字
def partition(data, length, start, end): if data == None or length == 0 or start < 0 or end >= length: return False tmp = end small = start - 1 for index in range(start,...原创 2018-05-22 22:41:50 · 684 阅读 · 0 评论 -
查找矩阵中是否存在某字符串, python实现
'''path in matrixthe matrix has mt_row * mt_col elementsthe path has len_of_path elements'''class Solution: def __init__(self, arr= None, path=None, row=0, col=0): if arr == None or...原创 2018-06-03 19:55:30 · 1777 阅读 · 0 评论 -
python树遍历非递归形式
class SStack(): def __init__(self): self._elem = [] def is_empty(self): return self._elem == [] def top(self): if self.is_empty(): return False ...原创 2018-05-24 09:19:25 · 288 阅读 · 0 评论 -
剑指offer 合并两个排序的链表 python2实现
# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass ListNode: def __init__(self, x): self.val = x self.nex...原创 2018-06-05 16:42:20 · 380 阅读 · 0 评论 -
python2与python3中input,raw_input
python2中与用户交互的函数由两个:input 和 raw_input>>> raw_input_A = raw_input("raw_input: ")raw_input: abc >>> input_A = input("Input: ")Input: abcTraceback (most recent call last): File "...原创 2018-06-05 16:55:11 · 913 阅读 · 0 评论 -
链表反转python实现
class LNode: def __init__(self, elem, _next=None): self.elem = elem self.next_node = _next def reverse_list(phead): if phead == None: return False new_head = None while phead: if phe...原创 2018-05-29 22:46:18 · 1320 阅读 · 0 评论 -
剑指offer 两个链表的第一个公共节点
# -*- coding:utf-8 -*-class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: def FindFirstCommonNode(self, pHead1, pHead2): list1_length ...原创 2018-06-05 19:38:10 · 192 阅读 · 0 评论 -
剑指offer 圆圈中最后剩下的数字 python实现
每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去....直到剩下...原创 2018-06-05 20:32:15 · 575 阅读 · 0 评论 -
最后一个单词的长度Python3实现
"""给定一个仅包含大小写字母和空格" "的字符串,返回最后一个单词的长度"""string = input("please input: ")string = string.strip("\"")string = string.strip()string = string.split()if string: print(len(string[-1]))else: ...原创 2019-05-29 22:43:21 · 273 阅读 · 0 评论