力扣

闻缺陷则喜何志丹4 天前
c++·算法·动态规划·力扣·状态机动态规划
【状态机动态规划】3686. 稳定子序列的数量|1969C++动态规划给你一个整数数组 nums。 如果一个 子序列 中 不存在连续三个 元素奇偶性相同(仅考虑该子序列内),则称该子序列为稳定子序列 。 请返回所有稳定子序列的数量。 由于结果可能非常大,请将答案对 109 + 7 取余数后返回。 子序列 是一个从数组中通过删除某些元素(或不删除任何元素),并保持剩余元素相对顺序不变的 非空 数组。 示例 1: 输入: nums = [1,3,5] 输出: 6 解释: 稳定子序列为:[1], [3], [5], [1, 3], [1, 5], 和 [3, 5]。
闻缺陷则喜何志丹5 天前
c++·算法·字符串·力扣·回文
【回文 字符串】3677 统计二进制回文数字的数目|2223回文 字符串给你一个 非负 整数 n。 如果一个 非负 整数的二进制表示(不含前导零)正着读和倒着读都一样,则称该数为 二进制回文数。 返回满足 0 <= k <= n 且 k 的二进制表示是回文数的整数 k 的数量。 注意: 数字 0 被认为是二进制回文数,其表示为 “0”。 示例 1: 输入: n = 9 输出: 6 解释: 在范围 [0, 9] 内,二进制表示为回文数的整数 k 有: 0 → “0” 1 → “1” 3 → “11” 5 → “101” 7 → “111” 9 → “1001” [0
苦藤新鸡5 天前
数据结构·c++·算法·力扣
9.找到字符串中所有字母异位词给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。
闻缺陷则喜何志丹6 天前
c++·算法·动态规划·力扣·数组·最小·动态规范
【C++动态规划 状压dp】1879. 两个数组最小的异或值之和|2145C++动态规划 状态压缩dp给你两个整数数组 nums1 和 nums2 ,它们长度都为 n 。 两个数组的 异或值之和 为 (nums1[0] XOR nums2[0]) + (nums1[1] XOR nums2[1]) + … + (nums1[n - 1] XOR nums2[n - 1]) (下标从 0 开始)。 比方说,[1,2,3] 和 [3,2,1] 的 异或值之和 等于 (1 XOR 3) + (2 XOR 2) + (3 XOR 1) = 2 + 0 + 2 = 4 。 请你将 num
闻缺陷则喜何志丹7 天前
c++·算法·深度优先·力扣·图论·换根法
【图论 DFS 换根法】3772. 子图的最大得分|2235C++图论 换根法给你一个 无向树 ,它包含 n 个节点,编号从 0 到 n - 1。树由一个长度为 n - 1 的二维整数数组 edges 描述,其中 edges[i] = [ai, bi] 表示在节点 ai 和节点 bi 之间有一条边。 另给你一个长度为 n 的整数数组 good,其中 good[i] 为 1 表示第 i 个节点是好节点,为 0 表示它是坏节点。 定义 子图 的 得分 为子图中好节点的数量减去坏节点的数量。 对于每个节点 i,找到包含节点 i 的所有 连通子图 中可能的最大得分。 返回
苦藤新鸡7 天前
c++·力扣
8.最长的无重复字符的子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度示例 1:示例 3:用两个指针i和j分别记录当前最长无重复字符子串的长度,j每往后遍历一个字符,就回头来找前面[i,j-1]个字符里面有没有和新遍历相同的字符,如果有就移动i缩小窗口,得到当前新的无重复字符子串,长度为j-i+1,然后取最大。
好易学·数据结构7 天前
数据结构·算法·leetcode·动态规划·力扣·牛客网
可视化图解算法77:零钱兑换(兑换零钱)描述给定数组 coins ,coins中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个amount,代表要找的钱数,求组成amount的最少货币数。
橘颂TA7 天前
数据结构·c++·算法·力扣·结构与算法
【剑斩OFFER】算法的暴力美学——力扣 844 题:比较含退格的字符串思路:使用 string 模拟栈遍历字符串,如果字符等于 '#' 并且栈里面有数据,那么就让栈顶元素出栈,如果字符 != ‘#’ 就入栈,直到遍历完整个字符串。
苦藤新鸡9 天前
c++·算法·力扣
4.移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。
苦藤新鸡9 天前
c语言·c++·算法·力扣
6.三数之和给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。
橘颂TA10 天前
数据结构·c++·算法·力扣·散列表·结构与算法
【剑斩OFFER】算法的暴力美学——存在重复元素思路:哈希表过程:遍历数组,遍历过程中每次判断这个数在不在哈希表中,如果在,那么返回 true ,否则把这个数字入哈希,当遍历完这个数组之后,还是没有找到符合题目要求的数字,那么返回 false。
橘颂TA10 天前
数据结构·算法·leetcode·力扣·哈希算法·散列表·结构与算法
【剑斩OFFER】算法的暴力美学——字母异位词分组思路:哈希表使用一个 unordered_map< string , vector<string>> ,这个哈希表的 key 值是以 ASCII 码值来排序归类的,value 值就是数组,专门来存储符合这个 ASCII 值排序的字符串,例如:
橘颂TA11 天前
数据结构·算法·leetcode·力扣·结构与算法
【剑斩OFFER】算法的暴力美学——两数之和思路:差值 + 哈希表假设我们遍历到 7 这个数字,此时 7 前面的数字都放到哈希表里面,当然不能把 7 也题目放到这个哈希表里面,原因待会说,如果 target - 7 = 2 存在于这个哈希表中,那么符合题目要求,因为 2 + 7 = 9 ,那为什么不能提前把 7 放到哈希表中呢?答:假设哈希表里面只有一个数字 1,taget = 4,此时刚好遍历到数字 2 ,如果我们提前把 2 放到哈希表里面,那么 target - 2 = 2 ,这个 2 刚好在哈希表里面,此时我们返回的值是错误的,不符合题目要求
苦藤新鸡11 天前
c语言·c++·力扣·哈希算法
2.字母异位词分组给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词指的是由相同字母组成但排列顺序不同的字符串,例如 "eat" 和 "tea"。
不能只会打代码12 天前
算法·leetcode·力扣·规律·dfs+记忆化
力扣--1411. 给 N x 3 网格图涂色的方案数目录前言:题目:题目分析:代码一:代码二:代码一分析:代码二分析(公式推导):关键观察:每行只有两种模式
橘颂TA12 天前
c++·算法·力扣·结构与算法
【剑斩OFFER】算法的暴力美学——K 个一组翻转链表思路:1)计算要逆序的链表对2)创建一个哨兵位,分别把要逆序的结点头插到这个哨兵位上插入完一对逆序对之后:
不能只会打代码15 天前
java·算法·leetcode·二分查找·力扣·bfs·最后可行时间
力扣--1970. 你能穿过矩阵的最后一天(Java)目录前言:题目:示例 1:示例 2:示例 3:提示:题目分析:代码:代码分析:步骤 1:二分查找天数步骤 2:对每个mid构建地图并判断是否连通(关键)
好易学·数据结构16 天前
数据结构·算法·leetcode·面试·动态规划·力扣·笔试
可视化图解算法76:最大子数组和描述给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
_OP_CHEN20 天前
数据结构·数据库·c++·redis·面试·力扣·跳表
【C++数据结构进阶】从 Redis 底层到手写实现!跳表(Skiplist)全解析:手把手带你吃透 O (logN) 查找的神级结构!编辑前言一、跳表的本质:给链表装 “电梯”1.1 有序链表的痛点:查找太慢!1.2 从 “两层索引” 到 “多层跳表”
好易学·数据结构21 天前
数据结构·算法·leetcode·动态规划·力扣·牛客网
可视化图解算法75:最长上升子序列(最长递增子序列)描述给定一个长度为 n 的数组 arr,求它的最长严格上升子序列的长度。所谓子序列,指一个数组删掉一些数(也可以不删)之后,形成的新数组。例如 [1,5,3,7,3] 数组,其子序列有:[1,3,3]、[7] 等。但 [1,1]、[1,3,5] 则不是它的子序列。