Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
力扣刷题——数组(c++)
题目 给你一个数组 nums 和一个值 val 你需要 原地 移除所有数值等于 val 的元素 并返回移除后数组的新长度 不要使用额外的数组空间 你必须仅使用 O 1 额外空间并 原地 修改输入数组 元素的顺序可以改变 你不需要考虑数组中超
力扣刷题
LeetCode
c
算法
LeetCode-679.24 点游戏、深度优先搜索算法DFS
来源 力扣 LeetCode 题目分析 括号运算符仅仅表达了一个运算顺序 可以不用考虑 实际的运算类型就 4 种 一共只有 4 个数 因此所有组合的可能性是有限的 DFS 算法就是对当前的所有可能的操作进行枚举 当前的操作即从可选的数字中挑
力扣刷题
DFS
c
算法
LeetCode
力扣226. 翻转二叉树(递归)
力扣226 翻转二叉树 递归 翻转一棵二叉树 示例 输入 4 2 7 1 3 6 9 输出 4 7 2 9 6 3 1 递归 1 定义函数功能 函数功能 即这个递归原问题是 给出一颗树 然后翻转它 所以 函数可以定义为 ListNode r
力扣刷题
二叉树
数据结构
算法
c
LeetCode-327.区间和的个数、归并排序
给定一个整数数组 nums 返回区间和在 lower upper 之间的个数 包含 lower 和 upper 区间和 S i j 表示在 nums 中 位置从 i 到 j 的元素之和 包含 i 和 j i j 说明 最直观的算法复杂度是
力扣刷题
归并排序
LeetCode
排序算法
c
LeetCode-336.回文对、字典树、字符串翻转
给定一组唯一的单词 找出所有不同 的索引对 i j 使得列表中的两个单词 words i words j 可拼接成回文串 示例 1 输入 abcd dcba lls s sssll 输出 0 1 1 0 3 2 2 4 解释 可拼接成的回文
字典树
力扣刷题
算法与数据结构
LeetCode
算法
力扣刷题-56 - I. 数组中数字出现的次数、位运算的应用
一个整型数组 nums 里除两个数字之外 其他数字都出现了两次 请写程序找出这两个只出现一次的数字 要求时间复杂度是O n 空间复杂度是O 1 c 位运算 位运算 计算机中是用二进制存储数据 一个字节包含8个位 每个 1 或者 0 就是一位
力扣刷题
位运算
算法与数据结构
c
LeetCode-410.分隔数组的最大值、动态规划、前缀和
给定一个非负整数数组和一个整数 m 你需要将这个数组分成 m 个非空的连续子数组 设计一个算法使得这 m 个子数组各自和的最大值最小 示例 输入 nums 7 2 5 10 8 m 2 输出 18 力扣 LeetCode 第410题 前言
力扣刷题
动态规划
LeetCode
算法
动态规划
橘子刷题第九题之找到环形链表的入环口
题目 本题出自力扣第一百四十二题 找到环形链表开始入环的第一个节点 给定一个链表的头节点 head 返回链表开始入环的第一个节点 如果链表无环 则返回 null 如果链表中有某个节点 可以通过连续跟踪 next 指针再次到达 则链表中存在环
力扣刷题
链表
数据结构
算法
5.C++力扣刷题645
题目 集合 s 包含从 1 到 n 的整数 不幸的是 因为数据错误 导致集合里面某一个数字复制了成了集合里面的另外一个数字的值 导致集合丢失了一个数字并且有一个数字重复 给定一个数组 nums 代表了集合 S 发生错误后的结果 请你找出重复
力扣刷题
LeetCode
c
LeetCode-343.整数拆分、记忆化递归
给定一个正整数 n 将其拆分为至少两个正整数的和 并使这些整数的乘积最大化 返回你可以获得的最大乘积 示例 1 输入 2 输出 1 解释 2 1 1 1 1 1 力扣 LeetCode 第343题 题目分析 暴力枚举 一个正整数 n 拆分成
力扣刷题
LeetCode
c
递归法
算法
力扣刷题-47.全排列Ⅱ、深度优先搜索
给定一个可包含重复数字的序列 返回所有不重复的全排列 深度优先搜索 DFS 深度优先搜索就是在每一步对每一种可能的选择一条道走到底 然后再回过头尝试另外一种选择 深度优先搜索的关键是要考虑 当前这一步 该如何做 至于 下一步 该怎么做和当前
力扣刷题
深度优先搜索
DFS
LeetCode
算法
力扣刷题-1371.每个元音包含偶数次的最长子字符串、前缀和、动态规划
一 背景 和为k的子数组 给定一个整数数组和一个整数 k 你需要找到该数组中和为 k 的连续的子数组的个数 示例 1 输入 nums 1 1 1 k 2 输出 2 1 1 与 1 1 为两种不同的情况 来源 力扣 LeetCode 第560
力扣刷题
动态规划
算法与数据结构
动态规划
c
力扣312题:戳气球
力扣312题 戳气球 题目描述 有 n 个气球 编号为0 到 n 1 每个气球上都标有一个数字 这些数字存在数组 nums 中 现在要求你戳破所有的气球 戳破第 i 个气球 你可以获得 nums i 1 nums i nums i 1 枚硬
力扣刷题
LeetCode
算法
动态规划
LeetCode-410.最小区间、滑动窗口、双指针
你有 k 个升序排列的整数数组 找到一个最小区间 使得 k 个列表中的每个列表至少有一个数包含在其中 我们定义如果 b a lt d c 或者在 b a d c 时 a lt c 则区间 a b 比 c d 小 示例 1 输入 4 10 1
c
力扣刷题
双指针
算法
LeetCode
LeetCode-321.拼接最大数、单调栈
给定长度分别为 m 和 n 的两个数组 其元素由 0 9 构成 表示两个自然数各位上的数字 现在从这两个数组中选出 k k lt m n 个数字拼接成一个新的数 要求从同一个数组中取出的数字保持其在原数组中的相对顺序 求满足该条件的最大数
力扣刷题
c
算法与数据结构
LeetCode
算法
单调队列算法总结
背景 单调队列 即为单调递减或者单调递增的队列 队列中的元素只能在队尾入队 从队首或者队尾出队 单调队列的基本实现就是维护一个双向队列 只有当一个元素是当前最值 或者可能成为最值时才保留 否则出队 单调队列通常用来解决在滑动区间中求最值的问
算法与数据结构
力扣刷题
算法
LeetCode
c
[力扣]只出现一次的数字
给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 说明 你的算法应该具有线性时间复杂度 你可以不使用额外空间来实现吗 作者 力扣 LeetCode 链接 https leetcode cn
力扣刷题
算法
多源bfs
这是 LeetCode 上的 1162 地图分析 难度为 中等 与 单源最短路 不同 多源最短路 问题是求从 多个源点 到达 一个 多个汇点 的最短路径 在实现上 最核心的搜索部分 多源 BFS 与 单源 BFS 并无区别 并且通过建立 虚
力扣刷题
宽度优先
算法
1、两数之和
题目 法1 暴力解法 用两个for循环 缺点 时间复杂度高 法1 推荐 nums list map int input split target int input for i in range len nums 1 for j in ra
力扣刷题
python
力扣
面试题 03.02. 栈的最小值-辅助栈做法
面试题 03 02 栈的最小值 请设计一个栈 除了常规栈支持的pop与push函数以外 还支持min函数 该函数返回栈元素中的最小值 执行push pop和min操作的时间复杂度必须为O 1 示例 MinStack minStack new
力扣刷题
c与c语言
链表
数据结构
«
1
2
3
»