
算法
蜗牛9528
java技术栈学习中…
展开
-
《图解算法》python实现的基本算法之二分法
引入 情景一: 假设要在电话簿中找一个名字以K打头的人,可以从头开始翻页,直到进入以K打头的部分。但你很可能不这样做,而是从中间开始,因为你知道以K打头的名字在电话簿中间。 情景二: 假设要在字典中找一个以O打头的单词,你也将从中间附近开始。 情景三: 假设你登录QQ。当你这样做时,QQ必须核实你是否有其网站的账户,因此必须在其数据库中查找你的用户名。如果你的用户名为kkk,QQ可从以A打头的部分...原创 2020-04-15 18:53:14 · 732 阅读 · 1 评论 -
Lint Code:一天一道算法题_2(带重复数字的全排列,递归算法)
题目描述 给出一个具有重复数字的列表,找出列表所有不同的排列。 #样例1 输入:[1,1] 输出: [ [1,1] ] #样例2 输入:[1,2,2] 输出: [ [1,2,2], [2,1,2], [2,2,1] ] 题目链接:带重复数字的全排列 python实现 #去掉重复的排列 def unique(nums): begin=0 end=len(nums)...原创 2020-04-08 11:59:35 · 252 阅读 · 0 评论 -
Lint Code:一天一道算法题_1(带最小值操作的栈)
题目描述 实现一个栈, 支持以下操作: push(val) 将 val 压入栈 pop() 将栈顶元素弹出, 并返回这个弹出的元素 min() 返回栈中元素的最小值 要求 O(1) 开销. 保证栈中没有数字时不会调用 min() 题目链接: 带最小值操作的栈 Python题解 class Stack: def __init__(self): self._lst = [] ...原创 2020-03-29 14:33:54 · 330 阅读 · 0 评论