首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构+算法
Forlogen
创建于2021-07-05
订阅专栏
有关数据结构和算法的基础介绍,以及LeetCode相关题目
等 1 人订阅
共204篇文章
创建于2021-07-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
[快慢指针]26 - 删除排序数组中的重复项 - python + Java
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不...
[快慢指针]27 -移除元素 - python + Java
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。函数应该返回新的长度 2...
30 -串联所有单词的子串 - python
给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。从索引 0 和 9 开始的子串分别是 "bar...
剑指offer - 不用加减乘除做加法 - python
相加各位的值,不算进位,二进制每位相加就相当于各位做异或操作;计算进位值,相当于各位做与操作,再向左移一位。重复上述两步, 各位相加 ,计算进位值。
剑指offer 14 - 剪绳子Ⅰ - python
...k[0],k[1],...k[0],k[1],...,k[m]。...k[0] \times k[1] \times ... k[0]×k[1]×...×k[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18...
剑指offer 13 - 机器人的运动范围 - python
地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 3...
剑指offer 12 - 矩阵中的路径 - python
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 ⎣⎡asabfdcceese⎦⎤矩阵...
18 - 四数之和 - python
18. 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。给定数组 n...
17 -电话号码的字母组合 - python
17. 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].2∼9中7和9对应四...
16 -最接近的三数之和 - python
16. 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 ...
[双指针法]15 - 三数之和 - python
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意: 答案中不可以包含重复的三元组。三数之和和两数之和本质上是相同的问题,所以两数之和问题可以看做是三数之和的子问...
14 - Longest Common Prefix - python
14. Write a function to find the longest common prefix string amongst an array of strings.If there is no common prefix, return an empty stri...
7 - Revere Interger - python
7.Given a 32-bit signed integer, reverse digits of an integer.Note: Assume we are dealing with an environment which could only store integer...
4 - Median of Two Sorted Arrays - python
4. 中位数,又称中点数,中值。There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overa...
剑指offer 48 - 无重复字符的最长子串 - python
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是...
2 - 两数相加 - python + Java
给出两个非空的链表用来表示两个非负的整数。其中它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储一位数字。如果我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。题目中给定的两个数以链表的形式表示...
1 - Two Sum - python
1. Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input w...
剑指offer 62 - 圆圈中最后剩下的数字 - python
0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。
剑指offer 54 - 二叉搜索树的第K个节点 - python
给给定一棵二叉搜索树,请找出其中第k大的节点。二叉搜索树的中序遍历结果自然就是升序序列,只需要先做中序遍历并存储遍历节点的val,结果集res是升序排列,而题目要求输出第K大的节点值。因此,需要将res翻转然后输出res[k - 1即可。inOrder(root.res.appe...
剑指offer -序列化二叉树 - python
二叉树的序列化:指把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(...
下一页