首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构+算法
Forlogen
创建于2021-07-05
订阅专栏
有关数据结构和算法的基础介绍,以及LeetCode相关题目
等 1 人订阅
共204篇文章
创建于2021-07-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
剑指offer 40 - 最小的K个数 - python
输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。0 <= k <= arr.首先看数组的长度时候大于K,若小于K直接返回空数组;否则先将数组排序再返回前K个元素即可。arr.
剑指offer 39 - 数组中出现次数超过一半的数字 - python
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。使用Counter统计数字和对应出现的个数,然后遍历得到的字典,找到value大于长度的一半的数字即可。for k, v in d.
剑指offer 22 - 链表中倒数第K个节点 - python
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。给定一个链表: 1->2->3->4->5, ...
剑指offer 21 - 调整数组顺序使奇数位于偶数前面 - python
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。注:[3,1,2,4] 也是正确的答案之一。提示: 1 <= nums.使用两个数组分别存放奇数和偶数,由于元素是依次添加到相应数组的后面,因此可以保持奇数和奇数、...
剑指offer 16 - 数值的整数次方 - python
实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。输入: 2.输出: 1024.输入: 2.输出: 9.输入: 2.输出: 0.解释: 2-2 = 1/22 = 1/4...
剑指offer 66 - 构建乘积数组 - python
...A[0,1,...A[0,1,......B[0,1,...B[0,1,.........B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...B[i]=A[0]∗A[1]∗...∗A[i−1]∗A[i+1]∗...∗A[n−1]。不能使用除法。........
剑指offer 03 - 数组中重复的数字 - python
题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。法...
剑指offer 9 - 用两个栈实现队列 - python
题目描述: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。队列是一种先进先出的数据结构,而栈是一种后见先出的数据结构。s2做出队。s2。self.self.se...
剑指offer 6 - 从尾到头打印链表 - python
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。从尾到头返回列表中的元素,可以从头到尾遍历链表,将得到的元素不断的插入list的起始位置,然后返回list将相当于返回从尾到头遍历的元素;或者先直接加入在反转list。e.g.helper.insert(0, h...
剑指offer 4 - 二维数组中的查找 - python
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。给定 target = 5,返回 true。给定 target = 20,返回 fals...
剑指offer 5 - 替换空格 - python
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。字符串元素的替换,只需要找到元素为空格的索引,然后用%20替换即可。return ''.return '%20'.join...
剑指offer 36 - 二叉搜索树和双向链表 - python
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为...
剑指offer 35 - 复杂链表的复制 - python
请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。解释:给定的链表为空(空指针),因此返回 null。.-10000 <= Node.−10...
二叉树的概念和Python和Java实现
由于树可以转换为二叉树,故直接进行二叉树的学习。h 层所有的结点都连续集中在最左边的二叉树。self.self.self.self.二叉树层序遍历:若树为空,则返回空,zh否则从根节点开始访问,从上而下逐层遍历。在同一层中按从左到右的顺序对节点逐个访问。若二叉树如下所示,则层序遍...
python中的单链表、双向链表、栈和队列实现
1. 单链表2. 双向链表3. 栈4. 队列5. 1. 单链表是一种基本的数据结构,链表中每个节点里存放该节点的值和下一个节点的位置信息。self.self.self.return self.cur = self.cur = cur.cur = self.print(cur.cu...
下一页