算法
机会总是留给有准备的人
Sunny_Future
微笑面对人生。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python3用两个栈实现一个队列
当stack_in用来接收新入队的元素时,stack_out用来管理出队操作。只有在stack_out为空的时候,你才需要把所有 stack_in 的元素转移到 stack_out,维持了队列先进先出的逻辑。两个桶(栈),一个用来放苹果(入栈),一个用来取苹果(出栈)。如果 stack_out为空,将 stack_in的所有元素弹出压入 stack_out。然后,从stack_out弹出第一个元素(这个元素相当于队列的头部元素)并返回这个元素。有两个栈,stack_in和stack_out。原创 2024-06-27 00:17:08 · 463 阅读 · 0 评论 -
python3按列表元素中字典的value排序
sort,指定排序sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。原创 2024-06-12 00:03:05 · 420 阅读 · 0 评论 -
python3按字典的值排序
sorted(d1.items(), key=lambda x:x[1])调用返回一个按字典升序排列的键值对列表。这里,d1.items()返回字典的键值对列表,key=lambda x:x[1]指定键值对中的值(即x[1])进行排序。通过设置reverse=True参数来改变排序方向,实现降序排序。当然,也可以通过dict()函数,返回排序后的字典。原创 2024-06-11 23:57:47 · 507 阅读 · 0 评论 -
py实现经典排序之冒泡和快排
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。原创 2023-05-23 23:54:46 · 446 阅读 · 1 评论 -
python常见八股文系列
1、算法1.1 百鸡百钱百鸡百钱问题:公鸡每只5元,母鸡每只1元,小鸡0.5只一元,现要求用100元钱买100只鸡,问公鸡、母鸡、小鸡各买几只?公鸡:i 母鸡:j 小鸡: kcount = 0# 遍历公鸡数for i in range(101): # 遍历母鸡 for j in range(101): # 遍历小鸡 k = 100 - i - j if k >= 0 and 2 * i + 1 * j + 0.5 * k原创 2021-08-31 18:56:37 · 7767 阅读 · 1 评论 -
内存堆栈和数据结构堆栈
内存堆栈和数据结构堆栈1、内存堆栈内存管理中的堆栈,其实应该分为“堆heap”和“栈stack”两个部分,即heap采用了堆的数据结构,栈采用了栈的数据结构,**在内存管理中发挥不同的作用。以变量存储为例:变量的引用存储在栈区中该引用所指向的变量的值则存储在堆区中2、数据结构堆栈数据结构中的stack我们叫做堆栈,其实是两种不同的数据结构,即堆和栈,堆实质上是满足一定性质的完全二叉树,而栈是“后进先出”的一种线性数据结构,它们与队列queue数据结构相对,queue是先进先出的线性数据结构原创 2021-08-21 22:27:12 · 1650 阅读 · 0 评论 -
binary_tree_search:pre|in|post|level order traversal
0、构建二叉树二叉树的构建方法有很多,这里举例将一个线性的链表转化成非线性的二叉树,链表节点的顺序恰恰是二叉树的前序遍历的顺序。链表中的空值,代表二叉树节点的左孩子或右孩子为空的情况。# 定义二叉树的节点class TreeNode: def __init__(self, data): self.data = data self.left, self.right = None, Nonedef create_binary_tree(input_list..原创 2021-05-16 17:24:10 · 169 阅读 · 0 评论 -
Array 数组 && Linked List 链表
1、数组方法论1.1 数组的时间复杂度查询的时间复杂度是 O(1)插入的平均复杂度是O(n)删除的平均复杂度也是O(n)2、链表查询的时间复杂度是 O(n)插入的平均复杂度是O(1)删除的平均复杂度也是O(1)2.1 Linked List 单向链表用next指针连向下一个点,形成一张表在计算机科学中, 一个 链表 是数据元素的线性集合, 元素的线性顺序不是由它们在内存中的物理位置给出的。 相反, 每个元素指向下一个元素。它是由一组节点组成的数据结构,这些节点一起,表原创 2021-04-10 17:52:31 · 364 阅读 · 0 评论 -
py-经典排序
猪哥:算法简介猪哥:十大排序算法一行代码实现快排测快排原创 2021-03-15 21:45:01 · 269 阅读 · 0 评论 -
来吧,展示。互联网术语
语法示例那么你发这个帖子的底层逻辑是什么?顶层设计在哪?最终交付价值是什么?过程中的抓手在哪里?如何保证结果闭环?和别人比你的亮点在哪里?优势在哪里?你的思考和沉淀在哪里?你有形成自己的方法论吗?你这个帖子换别人来发是否会不一样?二字动词复盘,赋能,加持,沉淀,倒逼,落地,串联,协同,反哺,兼容,包装,重组,履约,响应,量化,布局,联动,细分,梳理,输出,加速,共建,支撑,融合,聚合,集成,对标,聚焦,抓手,拆解,抽象,摸索,提炼,打通,打透,吃透,迁移,分发,分装,辐射,围绕,复用,渗透,扩展,开拓原创 2021-01-09 20:50:45 · 4862 阅读 · 7 评论 -
grep|awk|sed正则匹配有效电话号码(LeetCode)
力扣题目要求如下:给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)你也可以假设每行前后没有多余的空格字符。示例:假设 file.txt 内容如下:987-123-4567123 456 7890(123) 456-7890你的脚本应当输出下列有效的电话号码:987-123-4567(原创 2020-06-08 23:06:15 · 4523 阅读 · 0 评论 -
leetcode 无重复字符串的排列组合
【打工人】面试题 08.07. 无重复字符串的排列组合无重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合,字符串每个字符均不相同。示例1: 输入:S = "qwe" 输出:["qwe", "qew", "wqe", "weq", "ewq", "eqw"]示例2: 输入:S = "ab" 输出:["ab", "ba"]提示:字符都是英文字母。字符串长度在[1, 9]之间。show code写了一堆,发现python库直接能复用排列组合的工具库from it原创 2020-11-21 23:26:48 · 669 阅读 · 0 评论
分享