之和 随想录 随想day7

Leetcode刷题1.两数之和

1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums ......
之和 Leetcode

代码随想录算法训练营-回溯算法-3|134. 加油站、135. 分发糖果

134. 加油站 局部最优:当前累加rest[i]的和curSum一旦小于0,起始位置至少要是i+1,因为从i之前开始一定不行。全局最优:找到可以跑一圈的起始位置。 时间复杂度:O(n) 空间复杂度:O(1) 1 class Solution: 2 def canCompleteCircuit(se ......
算法 随想录 训练营 随想 糖果

[8]-代码随想录算法训练营-day9-字符串-part2

代码随想录算法训练营第九天|字符串-part2 1.Leecode 28. 找出字符串中第一个匹配项的下标 题目 https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/ 思路 暴力for循环 刷 ......
随想录 训练营 字符串 随想 算法

[8]-代码随想录算法训练营-day8-KMP算法

代码随想录训练营-KMP算法学习 1.基础概念 前缀 包含首字母,不包含尾字母的所有子串 后缀 包含尾字母,不包含首字母的所有子串 最长相等前后缀 罗列模式串中所有字符串的前后缀 确定最长相等的前后缀 如何找前后缀: 模式串为aabaaf 则其前缀有:a、aa、aab 、aaba、 aabaa 则其 ......
算法 随想录 训练营 随想 day8-KMP

[7]-代码随想录算法训练营-day8-字符串-part1

代码随想录算法训练营第八天|数组字符串-part1 1.Leecode 344. 反转字符串 题目 https://leetcode.cn/problems/reverse-string/ 思路 刷随想录后想法 双指针,用swap 实现困难 无 实现代码 class Solution { publi ......
随想录 训练营 字符串 随想 算法

代码随想录算法训练营-回溯算法-2|55. 跳跃游戏、45. 跳跃游戏 II、1005. K 次取反后最大化的数组和

55. 跳跃游戏 1. 跳跃的覆盖范围。这个问题就转化为跳跃覆盖范围究竟可不可以覆盖到终点! 2. 贪心算法局部最优解:每次取最大跳跃步数(取最大覆盖范围),整体最优解:最后得到整体最大覆盖范围,看是否能到终点。 时间复杂度: O(n) 空间复杂度: O(1) 1 class Solution: 2 ......
算法 随想录 训练营 数组 随想

代码随想录算法训练营第十天

代码随想录算法训练营第十天 | LeetCode 20(有效的括号) LeetCode 1047(删除字符串中的所有相邻重复项) LeetCode 150(逆波兰表达式求值) 20:有效的括号 LeetCode 20(有效的括号) 方法一 import java.util.Stack; class ......
随想录 训练营 随想 算法 代码

【代码随想录算法训练营第3天】704. 二分查找、27. 移除元素

Day1-数组2023.5.20 2023.9.14二刷 Leetcode704 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 初解 已经不记得二分查找了,遍历找\ ......
随想录 训练营 随想 算法 元素

高精度数各位数之和

高精度数各位数之和 描述 输入一个高精度数,输出它各个位数数字之和。 输入 输入一行,包含一个正整数,数字的位数不超过1000位。 输出 输出高精度数的各位数之和。 输入样例 1 123456789009876543211234567890 输出样例 1 135 #include <iostream ......
高精 度数 之和

P1009 [NOIP1998 普及组] 阶乘之和

题目描述 用高精度计算出 S = 1! + 2! + 3! + \cdots + n!S=1!+2!+3!+⋯+n!(n \le 50n≤50)。 其中 ! 表示阶乘,定义为 n!=n\times (n-1)\times (n-2)\times \cdots \times 1n!=n×(n−1)×( ......
阶乘 之和 P1009 1009 NOIP

代码随想录算法训练营-回溯算法|455. 分发饼干、376. 摆动序列

1.贪心算法一般分为如下四步: 将问题分解为若干个子问题 找出适合的贪心策略 求解每一个子问题的最优解 将局部最优解堆叠成全局最优解 455. 分发饼干 1. 局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个,全局最优就是喂饱尽可能多的小孩。 时间复杂度:O(nlogn) 空间复杂度:O(1 ......
算法 随想录 训练营 序列 饼干

[代码随想录]Day46-动态规划part14

题目:1143. 最长公共子序列 思路: 主要就是两大情况: text1[i - 1] 与 text2[j - 1]相同,text1[i - 1] 与 text2[j - 1]不相同 如果text1[i - 1] 与 text2[j - 1]相同,那么找到了一个公共元素,所以dp[i][j] = d ......
随想录 随想 代码 动态 part

代码随想录算法训练营第九天

代码随想录算法训练营第九天 | LeetCode 232(用栈实现队列) LeetCode 225(用队列实现栈) 栈和队列理论基础 定义 栈(stack ),一种遵循先进后出(FILO—First-In/Last-Out)原则的线性存储结构。 队列(queue),一种遵循先进先出(FIFO—fir ......
随想录 训练营 九天 随想 算法

代码随想录算法训练营第10天| 232.用栈实现队列 ● 225. 用队列实现栈

栈和队列 232.用栈实现队列 stack: queue: 卡哥代码 一个入栈,一个出栈,即可模拟队列的pop操作 pop之前要检查出栈是否为空 若为空,则排出入栈里所有的元素至出栈中 class MyQueue { public: stack<int> stackIn; stack<int> st ......
队列 随想录 训练营 随想 算法

【代码随想录算法训练营第二天】977.有序数组的平方、209.长度最小的子数组 、59.螺旋矩阵II

Day2-数组2023.9.15 Leetcode977 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 初解 我还是不能想到暴力解法之外的,对某个问题的最优复杂度也没有概念。就算提示我是用指针,我也想不到思路。 现 ......
数组 随想录 训练营 矩阵 螺旋

[代码随想录]Day45-动态规划part13

题目:300. 最长递增子序列 思路: dp[i]状态 取决于 dp[0] - dp[i-1]中小于dp[i]的元素中最大的值+1,即: for j:=0; j <i; j++ { if nums[i] > nums[j]{ dp[i] = max(dp[i], dp[j] + 1) } } 代码: ......
随想录 随想 代码 动态 part

代码随想录算法训练营第八天

代码随想录算法训练营第八天 | LeetCode 28(实现strStr()) LeetCode 459(重复的子字符串) 28:实现strStr() LeetCode 28(实现strStr()) class Solution { public int strStr(String haystack ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第9天| ●28. 实现 strStr() ●459.重复的子字符串 ●字符串总结 ●双指针回顾

28.找出字符串中第一个匹配项的下标 mydemo--(my thought)--(falied) class Solution { public: int strStr(string haystack, string needle) { for(int i=0; i<haystack.size() ......
字符串 字符 随想录 训练营 指针

代码随想录算法训练营第8天| ● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串

344.反转字符串 mydemo--(一次就过)--(成功) class Solution { public: void reverseString(vector<char>& s) { int len = s.size(); char tmp; int i=0; int j = len-1; wh ......
字符串 字符 随想录 左旋 Offer

[代码随想录]Day44-动态规划part12

题目:309. 买卖股票的最佳时机含冷冻期 思路: 具体可以区分出如下四个状态: 状态一:持有股票状态(今天买入股票,或者是之前就买入了股票然后没有操作,一直持有) 不持有股票状态,这里就有两种卖出股票状态 状态二:保持卖出股票的状态(两天前就卖出了股票,度过一天冷冻期。或者是前一天就是卖出股票状态 ......
随想录 随想 代码 动态 part

代码随想录算法训练营第七天

代码随想录算法训练营第七天 | LeetCode 344(反转字符串) LeetCode 541(反转字符串II) LeetCode 剑指05(替换空格) LeetCode 151(反转字符串中的单词) LeetCode 剑指58(II.左旋转字符串) 344:反转字符串 LeetCode 344( ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第7天| ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和

454.两数相加 Ⅱ mydemo--(超时失败) class Solution { public: int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) { ......
之和 随想录 训练营 随想 算法

[代码随想录]Day43-动态规划part11

题目:123. 买卖股票的最佳时机 III 思路: 达到dp[i][1]状态,有两个具体操作: 操作一:第i天买入股票了,那么dp[i][1] = dp[i-1][0] - prices[i] 操作二:第i天没有操作,而是沿用前一天买入的状态,即:dp[i][1] = dp[i - 1][1] 那么 ......
随想录 随想 代码 动态 part

算法训练day7 LeetCode454

算法训练day7: LeetCode454.383.15.18 454.四数相加 题目 454. 四数相加 II - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class Solution { public: int fourSumCount(vector ......
算法 LeetCode day7 day 454

代码随想录算法训练营第六天

代码随想录算法训练营第六天 | LeetCode 454(四数相加II) LeetCode 383(赎金信) LeetCode 15(三数之和) LeetCode 18(四数之和) 454:四数相加II LeetCode 454(四数相加II) 思路: 首先定义 一个map,key放a和b两数之和, ......
随想录 训练营 随想 算法 代码

[代码随想录]Day42-动态规划part10

题目:121. 买卖股票的最佳时机 思路: 贪心做起来更简单;dp多此一举……状态0是有买入,状态1是 代码: func maxProfit(prices []int) int { lens := len(prices) if lens == 0 { return 0 } dp := make([] ......
随想录 随想 代码 动态 part

代码随想录算法训练营第五天

代码随想录算法训练营第五天 | LeetCode 242(有效的字母异位词) LeetCode 349(两个数组的交集) LeetCode 202(快乐数) LeetCode 1(两数之和) 242:有效的字母异位词 LeetCode 242(有效的字母异位词) class Solution { p ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第六天| 242.有效的字母异位词,349.两个数组的交集,202.快乐数,1.两数之和

242. 有效的字母异位词 mydemo--(成功)--(学了卡哥的思路) class Solution { public: bool isAnagram(string s, string t) { int alphabet = 26; int hash[alphabet]; for(int i=0 ......
随想录 之和 训练营 数组 交集

[代码随想录]Day41-动态规划part09

题目:198. 打家劫舍 思路: 决定dp[i]的因素就是第i房间偷还是不偷。 如果偷第i房间,那么dp[i] = dp[i - 2] + nums[i] ,即:第i-1房一定是不考虑的,找出 下标i-2(包括i-2)以内的房屋,最多可以偷窃的金额为dp[i-2] 加上第i房间偷到的钱。 如果不偷第 ......
随想录 随想 代码 动态 part

代码随想录算法训练营第四天

代码随想录算法训练营第四天 | LeetCode 24(两两交换链表中的节点) LeetCode 19(删除链表的倒数第N个节点) LeetCode 160(链表相交) LeetCode 142(环形链表II) 24:两两交换链表中的节点 LeetCode 24(两两交换链表中的节点) 思路: 这道 ......
随想录 训练营 随想 算法 代码