算法
苟修今
好きな季節は短いもので
気づかない内に溶け出して行く
移ろう景色の中でひとり
僕は佇み 君を思う
展开
-
吔屎的Btree 和 B+tree 外加 mysql的B+tree 索引。
今天看了看btree和b+tree,,,, 弄个大概, 将来在染指下红黑树,,,转自https://www.cnblogs.com/vianzhang/p/7922426.html关于B树的删,增的操作https://blog.csdn.net/endlu/article/details/51720299BTree:一棵m阶的B-Tree有如下特性:1. 每个节点最多有m个孩...原创 2019-10-23 19:16:17 · 307 阅读 · 0 评论 -
观算法40讲有感(随缘更新)
1 有效括号的事def my_sort(s): tmp = [] my_dic = {')': "(", "}": "{", "]": "["} # 利用字典,而且键是右符号, 这点就很奇妙 for i in s: if i not in my_dic: # 说明是左符号 tmp.append(i...原创 2019-10-21 12:32:11 · 872 阅读 · 1 评论 -
队实现栈, 栈实现队
虽然没上难度, 但是还要准备准备两个队列实现栈class STACK(object): def __init__(self): self.q = Queue() self.tmp = Queue() def push(self, v): self.q.put(v) def top(self): ...原创 2019-10-21 11:16:16 · 81 阅读 · 0 评论 -
数据结构与算法第一次围剿计划 链表
特别注意:数组O(1) 是访问指定下标位置元素,这是O(1), 看一个数在不在数字里, 时间是O(n)的。插入和删除都是O(n)的链表:链表的 查询时间是O(n), 插入删除是O(1)https://blog.csdn.net/DeskyAki/article/details/100831860上面僕のブログ实现了链表的构造, 数组转链表, 打印链表, 链表的...原创 2019-10-16 19:54:19 · 133 阅读 · 0 评论 -
py 链表集大成
2019/10/16 以前写的代码太SB了, 今天全部重写了链表的构造,包括数组转链表, 链表的增删,逆转,两两对调而且我用是有头链表class LNode(object): def __init__(self, data): self.data = data self.next = Noneclass LList(object): ...原创 2019-09-15 11:11:43 · 170 阅读 · 0 评论 -
流利说笔试
今晚九点, 笔试,选择题中规中矩,虽然难, 但是我可以接受。不像美团的java,c++,定积分,行列矩阵,,。mmp,不过只有一个小时的时间,时间很短。30多道选择题,留给两道编程题的时间不到30分钟。大眼瞪小眼的看了许久,得出的结论是, 这题虽然不难, 但不是我这个小菜鸡能迅速解决的,一下子变得坦然起来。看了一会有了思路,看看了时间,是不够我写出两道题的时间的,权衡利弊,做到了心中有B数,遂提交...原创 2020-05-30 12:36:51 · 190 阅读 · 0 评论 -
列表实现栈
一列表的方式实现栈(压栈, 弹栈, 取栈顶元素, 判断是否为空,栈的大小)class MyStack(object): def __init__(self): self.items = [] def __str__(self): # 为测试方法, 看看items return str(self.items) ...原创 2019-06-08 20:24:11 · 265 阅读 · 0 评论 -
bilibili为爱翻车事件
三道编程题, 最后一道必须C++实现, 提前邮件通知了,满心欢喜把本地调通的的代码,复制到上面, 才注意到,翻车了, mmp完全不会C++;第二道题,本地调通了, 换了几种方法, 本地反馈相当迅速, 复制到牛客, 用例不通过,估计是时间超时了,但是我坚信代码可以很迅速在规定时间内完成,应该是牛客对python不友好, 是它们的bug。第一题完全ok。三十到选择完全ok,难,但是完全可以接受。...原创 2019-09-10 21:42:33 · 157 阅读 · 0 评论 -
斐波那契 | 青蛙跳台阶问题 | 矩形覆盖问题 | 外加杨氏矩阵查找
刷题遇到了青蛙跳台阶,,,用到了斐波那契,,顺便从笔记上整理下。1 打印第n位的斐波那契, 1 1 2 3 5 8 13 …… 有的是这样1 2 3 5 8 13 差不多版本1这个写起来很爽,用起来就很操蛋了,,效率太低,def fib(n): if n == 1 or n == 2: return 1 return fib(n-1) + ...原创 2019-09-10 18:53:36 · 173 阅读 · 0 评论 -
二叉树
插入一些知识点大根堆建堆的时间复杂度是Olog(n)平衡二叉树find-min O(1)delete-min O(logn)insert O(logn)merge O(n)i是当前节点,根节点定义为0它的左孩子的位置:2*i + 1 它的右孩子的位置:2*i + 2 父节点的位置: i-1 / 2 层数 logN (N节点总个数) 第...原创 2019-09-09 17:30:19 · 1084 阅读 · 0 评论 -
自定义算法(自己刷题时遇到的算法题)
1 用递归判断是否为回文def is_right(str): if len(str) < 2: return True if str[0] != str[-1]: return False return is_right(str[1:-1])str1 = "asddsa"print(is_right(str1))...原创 2019-09-08 20:52:00 · 469 阅读 · 0 评论 -
leetcode 作死体验(随缘更新)
1.给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重...原创 2019-09-05 23:28:57 · 104 阅读 · 0 评论 -
面试的算法(自己或者同学遇到的算法题)
1给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口k内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入:nums=[1,3,-1,-3,5,3,6,7],和k=3输出:[3,3,5,5,6,7]解释:代码:def maxInWindows(num, size): ...原创 2019-09-03 00:15:12 · 108 阅读 · 0 评论 -
算法例题第六章
今天总算开始整理算法了, 一直都被算法搞得瑟瑟发抖。。写在最前面所需的知识点:&: 按位与运算,如果两个相位都为1,则结果为1,否则为0|: 或 只要有一个为1,则结果为1^: 异或, 相异为1<<: 左移,二进制左移一位,相当于乘2>>: 右移,二进制右移一位,相当于除2~ :按位取反运算符,对数据的每个二进制位取反,即把1变为0...原创 2019-07-27 22:42:37 · 350 阅读 · 0 评论 -
经典算法 + 对数器
写在前面参考自https://mp.weixin.qq.com/s?__biz=MzI0OTc0MzAwNA==&mid=2247484578&idx=1&sn=65fb791b68845f2c590e9a8b1ab6c150&chksm=e98d9751defa1e4722f4d054336147564f736d436840e2ec091601b123a640...原创 2019-08-01 01:26:54 · 509 阅读 · 0 评论 -
算法例题第七章
如何求正整数n的所有可能的整数组合例如: 4=1+1+1+1, 1+1+2, 1+3, 2+2, 4, 还要按递增展示,嗯嗯, 懵逼def printResult(result, count): if not result: return size = len(result) if count < 0 or count > siz...原创 2019-07-29 20:47:15 · 139 阅读 · 0 评论