力扣
stone_fall
程序员+宅男
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++秋招刷题 | 动态规划与背包问题
文章目录动态规划斐波那契数列斐波那契数第 N 个泰波那契数丑数丑数Ⅱ杨辉三角杨辉三角杨辉三角Ⅱ爬楼梯爬楼梯最小花费爬楼梯买卖股票买卖股票的最佳时机买卖股票的最佳时机 II最佳买卖股票时机含冷冻期买卖股票的最佳时机含手续费打家劫舍打家劫舍1打家劫舍2背包问题完全背包购物车零钱兑换零钱兑换 II子序列最大和最大子序和环形子数组的最大和回文最长回文子串最长回文子序列递增子序列解码解码方法二叉搜索树不同的二叉搜索树不同的二叉搜索树Ⅱ路径问题下降路径最小和三角形最小路径和不同路径不同路径 II最小路径和最大正方形编辑原创 2021-09-26 10:41:42 · 1380 阅读 · 0 评论 -
力扣网 | 高频面试题 | 最长回文子串 | 最长回文子序列
文章目录最长回文子序列题目解析最长回文子串题目解析 两道题很相近,区别在于一个是子串,一个是子序列 子序列 子串 最长回文子序列 题目 最长回文子序列 - 力扣(LeetCode) https://leetcode-cn.com/problems/longest-palindromic-subsequence/ 解析 class Solution { public: int longestPalindromeSubseq(string A) { //dp原创 2021-04-01 08:47:48 · 394 阅读 · 0 评论 -
牛客网 | 每日一题 3-25 | 82. 删除排序链表中的重复元素 II
文章目录题目解析 题目 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。 返回同样按升序排列的结果链表。 82. 删除排序链表中的重复元素 II - 力扣(LeetCode) 解析 链表题:舍得用变量,千万别想着节省变量,否则容易被逻辑绕晕 head 有可能需要改动时,先增加一个 假head,返回的时候直接取 假head.next,这样就不需要为修改 head 增加一大堆逻辑了。 /** * Definition原创 2021-03-25 21:26:23 · 326 阅读 · 0 评论 -
力扣网 | 算法面试题汇总 | 最长公共子序列
文章目录题目解析 题目 1143. 最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。 若这两个字符串没有公共子序列,则返回 0。 解析 dp clas原创 2021-03-06 18:34:37 · 242 阅读 · 0 评论 -
力扣网 | 算法面试题汇总 | 字符串 | 字符串拼接 Ⅱ
文章目录题目解析 题目 算法面试题汇总 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 https://leetcode-cn.com/leetbook/read/top-interview-questions/xa9v8i/ 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1:原创 2021-01-19 17:38:00 · 368 阅读 · 0 评论 -
力扣网 | 算法面试题汇总 | 字符串 | 单词拆分
文章目录题目题解 题目 算法面试题汇总 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 https://leetcode-cn.com/leetbook/read/top-interview-questions/xa503c/ 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetco原创 2021-01-16 13:43:25 · 672 阅读 · 0 评论 -
力扣网 | 算法面试题汇总 | 字符串 | 分割回文串
文章目录题目解析 题目 分割回文串 算法面试题汇总 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 解析 class Solution { vector<vector<string>> res; vector<string> path; public: void backtracking(const string s,int startindex){ //判出 if(startindex&g原创 2021-01-15 09:36:52 · 282 阅读 · 0 评论 -
力扣网 | 算法面试题汇总 | 字符串 | 验证回文串
文章目录题目解析方法一:利用额外空间保存转化后的结果方法二:在原字符串上比较 题目 解析 方法一:利用额外空间保存转化后的结果 tolower() 将字符传化成小写 isalnum() 判断字符是否是字母或数字 class Solution { public: bool isPalindrome(string s) { string shandled;//用来存储转化后的字符与小写字母 for(auto c:s){ if(isalnum(c原创 2021-01-12 09:27:08 · 334 阅读 · 0 评论 -
力扣网 | 算法面试题汇总 | 开始之前 | 鸡蛋掉落
文章目录题目解析 题目 算法面试题汇总 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。 每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。 你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。 每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <原创 2021-01-07 11:43:30 · 577 阅读 · 0 评论 -
力扣网/牛客网 | 算法面试题汇总 | 合并两个有序数组
文章目录题目解析双指针-从前往后遍历从前往后-空间换时间从后往前遍历 题目 算法面试题汇总 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入:原创 2021-01-06 09:49:53 · 273 阅读 · 0 评论 -
力扣网 | 算法面试题汇总 | 开始之前 | 搜索二维矩阵 II
文章目录题目解析暴力剪枝二分法 题目 算法面试题汇总 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 解析 暴力 class Solution { public: bool searchMatrix(vector<vector<int>>& matrix, int target) { int m = matrix.size(), n = matrix[0].size(); for(int i=0;i<原创 2021-01-05 09:23:26 · 260 阅读 · 0 评论 -
力扣网 | 算法面试题汇总 | 开始之前 | LC 多数元素
文章目录题目解析 题目 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:[3,2,3] 输出:3 示例 2: 输入:[2,2,1,1,1,2,2] 输出:2 进阶: 尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。 解析 class Solution { public: int majorityElement(ve原创 2021-01-02 12:26:38 · 326 阅读 · 0 评论 -
力扣网 | 算法面试题汇总 | 开始之前 | LC 只出现一次的数字
文章目录题目解析 题目 LC 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 解析 异或运算,得到结果。 利用异或运算的交换律、结合律、自反率 a^b^a = b class Solution { public: int singleN原创 2021-01-02 12:09:28 · 257 阅读 · 0 评论 -
力扣网 | 每日打卡题 |188. 买卖股票的最佳时机 IV
文章目录题目解析 题目 188. 买卖股票的最佳时机 IV 解析 在这里插入代码片原创 2020-12-29 09:02:14 · 414 阅读 · 0 评论 -
牛客网 | 高频面试题 | 子数组的最大累加和问题
文章目录题目解析 题目 子数组的最大累加和问题_牛客网 解析 用cur记录当前数组和(只要cur大于0,就对求最大累加和有正向的贡献) arrmax记录最大cur class Solution { public: /** * max sum of the subarray * @param arr int整型vector the array * @return int整型 */ int maxsumofSubarray(vector<int&原创 2020-12-27 11:41:46 · 276 阅读 · 0 评论 -
力扣网 | 每日打卡题 | 205. 同构字符串
文章目录题目解析哈希官方解答-哈希 题目 205. 同构字符串 - 力扣(LeetCode) 解析 哈希 笨拙的方式 通过两个hash记录状态。 charmap记录字符替换方案 charintmap确保两个字符不能映射到同一个字符上 class Solution { public: bool isIsomorphic(string s, string t) { int lens=s.size(),lent=t.size(); if(lens!=lent)retur原创 2020-12-27 10:28:17 · 278 阅读 · 0 评论 -
力扣网 | 每日打卡题 | 455. 分发饼干 | 圣诞节的饼干
文章目录题目解析 题目 455. 分发饼干 - 力扣(LeetCode) 解析 分发饼干 - 分发饼干 - 力扣(LeetCode) class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(), g.end()); sort(s.begin(), s.end()); int nu原创 2020-12-25 14:47:44 · 293 阅读 · 0 评论 -
力扣网 | 每日打卡题 | 387. 字符串中的第一个唯一字符
文章目录题目解析 题目 387. 字符串中的第一个唯一字符 - 力扣(LeetCode) 解析 用map记录每个元素c出现的位置,并且如果元素c重复出现令map[c]=-1 最后遍历map返回第一个value非-1的元素c的位置 class Solution { public: int firstUniqChar(string s) { unordered_map<char,int> c2imap; for(int i=0;i<s.size();原创 2020-12-23 09:11:36 · 325 阅读 · 0 评论 -
力扣网 | 每日打卡题 | 103. 二叉树的锯齿形层序遍历
文章目录题目解析层次遍历——翻转记录数组官方解答——双向队列deque 题目 103. 二叉树的锯齿形层序遍历 - 力扣(LeetCode) 解析 层次遍历——翻转记录数组 用levelsize记录每层的节点数; 用vtmp正常遍历顺序记录每层节点; 用flag记录单双层,用于翻转vtmp; /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; *原创 2020-12-22 08:57:29 · 258 阅读 · 0 评论 -
力扣网 | 每日打卡题 | 746. 使用最小花费爬楼梯
文章目录题目解析动态规划 题目 746. 使用最小花费爬楼梯 - 力扣(LeetCode) 解析 动态规划 爬楼梯! class Solution { public: int minCostClimbingStairs(vector<int>& cost) { int a=0,b=0,sum=0,len=cost.size(); for(int i=2;i<=len;i++){ sum=min(a+cost[i-2],原创 2020-12-21 10:00:51 · 238 阅读 · 0 评论
分享