随笔分类 - LeetCode初级算法
初级算法求解
摘要:1、非递归 // 递归的归并排序 class Solution { public: ListNode* sortList(ListNode* head) { if (head == nullptr) return head; int length = 0; ListNode* node = head
阅读全文
摘要:开个坑,后续补解析 class Solution { public: int countSubstrings(string s) { int n = s.size(); string t = "$#"; for (const char &c: s) { t += c; t += '#'; } n =
阅读全文
摘要:1.题目 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 删除一个字符 替换一个字符 插入一个字符 示例: 输入:word1 = "horse", word2 = "ros" 输出:3 解释: hors
阅读全文
摘要:1.重复子字符串问题分析 459. 重复的子字符串 - 力扣(LeetCode) 有点难度,值得反复刷;本质找 循环子串问题,可以 暴力求解或者移位 2.解法 2.0 暴力求解 设 :字符串 S 由 s'重复构成,则 S=s's's's's's' (n个s' , s' 长度为 i ); 则 :S长度
阅读全文
摘要:这是一个简单题,本质上直接暴力求解也可以了。但是主要记录下哈希表的应用。 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现
阅读全文
摘要:环状替换法详解 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 链接:https://leetcode.cn/problems/rotate-array 示例: 输入: nums = [1,2,3,4,5,6,7], k = 3 输出: [5,6,7,1,2,3
阅读全文
摘要:题目描述 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最大利润 。 来源:力扣(LeetCode) 链接:h
阅读全文
摘要:0.题目描述 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改
阅读全文