之和 随想录 随想day7

力扣--两数之和

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

代码随想录算法训练营第四天| 24. 两两交换链表中的节点, 19.删除链表的倒数第N个结点,面试题02.07.链表相交,142.环形链表Ⅱ

24. 两两交换链表中的节点 mydemo(超时) /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullpt ......
随想录 结点 环形 训练营 节点

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

代码随想录算法训练营第三天 | LeetCode 203(移除链表元素) LeetCode 707(设计链表) LeetCode 206(反转链表) 203:移除链表元素 LeetCode 203(移除链表元素) 思路 遍历链表 等值删除 双指针 方法一:虚拟头节点 方法二:直接在原链表删除 方法一 ......
随想录 训练营 随想 算法 代码

代码随想录算法训练营第三天| 203.移除链表元素 707.设计链表 206.反转链表

203.移除链表元素 链表定义 struct ListNode { int val; ListNode* next; ListNode(): val(0), next(NULL) {}; ListNode(int x): val(x), next(NULL) {}; ListNode(int x, ......
随想录 训练营 随想 算法 元素

[代码随想录]Day40-动态规划part08

题目:139. 单词拆分 思路: 单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。 拆分时可以重复使用字典中的单词,说明就是一个完全背包! 动规五部曲分析如下: 确定dp数组以及下标的含义:dp[i] : 字符串长度为i的话,dp[i]为true,表示可以拆分为一个 ......
随想录 随想 代码 动态 part

代码随想录刷题记录——栈与队列篇

栈与队列理论基础 栈stack:先进后厨 队列queue:先进先出 STL(C++标准库) STL 栈和队列属于容器适配器(container adapter) 优先队列priority_queue: 默认大根堆,如果是pair<a,b>,默认比较a大小 如果需要比较b大小,且小根堆,可以如下实现 ......
随想录 队列 随想 代码

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

## 977.有序数组的平方 双指针法 因为负数平方后也会变大,所以较大的平方值只可能在靠近两端的位置,越往中间走平方值必定越小。 > 所以,在原数组两端各定义一个指针,慢慢往中间走,然后把平方值按顺序放到新数组里即可。 ```c++ class Solution { public: vector ......
随想录 数列 训练营 数组 矩阵

[代码随想录]Day39-动态规划part07

## 题目:[70. 爬楼梯](https://leetcode.cn/problems/climbing-stairs/description/) ### 思路: 除了`dp[i] = dp[i-1] + dp[i-2]`还可以用完全背包的方法,可以放无数个1或者2,看有多少种排列(先背包后物品) ......
随想录 随想 代码 动态 part

代码随想录刷题记录——双指针篇

27. 移除元素 题目链接 快慢指针,最终返回index值为移除元素后的数组末尾元素下标+1. #include<vector> using namespace std; class Solution { public: int removeElement(vector<int>& nums, in ......
随想录 指针 随想 代码

代码随想录个人笔记——字符串篇

344. 反转字符串 题目链接 #include<bits/stdc++.h> using namespace std; class Solution { public: void reverseString(vector<char>& s) { int len = s.size(); for(in ......
随想录 字符串 随想 字符 代码

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

# 代码随想录算法训练营第二天 | [LeetCode 977(有序数组的平方)](https://leetcode.cn/problems/squares-of-a-sorted-array) [LeetCode 209(长度最小的子数组)](https://leetcode.cn/problem ......
随想录 训练营 随想 算法 代码

P00575. 求约数之和3之完美数

下面这个代码TLE了,因为做除法的速度比做乘法慢4到5倍 。 #include <bits/stdc++.h> using namespace std; long long a,b,ans,f[10000001]; int main() { cin>>a>>b; for(long long i=1; ......
约数 之和 00575

代码随想录刷题记录——哈希表

哈希表基础知识 哈希表(Hash table)又称散列表,是根据关键码的值而直接进行访问的数据结构 哈希表一般用来快速查询元素a是否在集合B中,O(1)时间复杂度即可做到,枚举的话则是O(n) 哈希函数hashFunction(x):将输入x映射为哈希表上的索引,之后通过查询索引下标即可快速查询x ......
随想录 随想 代码

[代码随想录]Day38-动态规划part06

![](https://img2023.cnblogs.com/blog/2527234/202309/2527234-20230907092218272-2002797447.png) ## 题目:[518. 零钱兑换 II](https://leetcode.cn/problems/coin-c ......
随想录 随想 代码 动态 part

代码随想录算法第一天704

# 代码随想录算法第一天|704.二分查找、27.移除元素 ## 学习(复习)数组理论基础: ​ (https://programmercarl.com/数组理论基础.html) ​ 新了解到Java中数组地址不是连续的。 ## 704.二分查找 ### 题目 > > >题目链接:https://l ......
随想录 随想 算法 代码 704

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

# 数组 ## 704.二分查找 mydemo ```c++ class Solution { public: int search(vector& nums, int target) { int len = nums.size(); //cout target) { right = mid - 1 ......
随想录 训练营 随想 算法 元素

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

# 代码随想录算法训练营第一天 | [LeetCode 704(二分查找)](https://leetcode.cn/problems/binary-search/description/) [LeetCode 35(搜索插入位置)](https://leetcode.cn/problems/sea ......
随想录 训练营 随想 算法 代码

三数之和--双指针

要求找到所有「不重复」且和为 0 的三元组 排序 + 双指针(双指针只在有序时可以用) 有序的另一个作用是辅助去重,比如a,b,c//b,c,a//c,a,b对本题来说是一样的,有序后就只有a,b,c 同时,对于每一重循环而言,相邻两次枚举的元素不能相同,否则也会造成重复,因此: nums.sort ......
之和 指针

Leetcode16——最接近的三数之和

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1: 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 ta ......
之和 Leetcode 16

[代码随想录]Day37-动态规划part05

## 题目:[1049. 最后一块石头的重量 II](https://leetcode.cn/problems/last-stone-weight-ii/) ### 思路: 和昨天的类似,越靠近和的一半剩下的就越少。 ` 相对于 01背包,本题中,石头的重量是 stones[i],石头的价值也是 s ......
随想录 随想 代码 动态 part

代码随想录算法训练营第十四天|二叉树的递归法、迭代法

## 二叉树的递归遍历(前中后序遍历-递归法与迭代法) **递归三部曲:** 1. **确定递归函数的参数和返回值** 2. **确定终止条件** 3. **确定单层递归的逻辑** ### 递归法对二叉树进行前中后序遍历(力扣144.145.94.) ```java // 前序遍历·递归·LC144 ......
迭代法 随想录 训练营 随想 算法

leetcode1161最大层内元素之和

dfs lass Solution { public: unordered_map<int,vector<int>>m; void dfs(TreeNode* root,int depth){ if(!root)return; int res=0; depth++; dfs(root->left,d ......
之和 leetcode 元素 1161

[代码随想录]Day36-动态规划part04

## 题目: ### 思路: 只有确定了如下四点,才能把01背包问题套到本题上来。 - 背包的体积为sum / 2 - 背包要放入的商品(集合里的元素)重量为 元素的数值,价值也为元素的数值 - 背包如果正好装满,说明找到了总和为 sum / 2 的子集。 - 背包中每一个元素是不可重复放入。 ## ......
随想录 随想 代码 动态 part

编程随想曲周刊(第44期)

这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 # 编程 1. [科技爱好者周刊#269](https://mp.weixin.qq.com/s/eDfl8npL02Ei5SQYZL6tfw) # 文章 1. [理想的写作环境](https://mp.weixin.qq.com ......
随想曲 随想 周刊

[代码随想录]Day35-动态规划part03

## 题目:[343. 整数拆分](https://leetcode.cn/problems/integer-break/ "343. 整数拆分") ### 思路: 状态转移方程:`dp[i] = max(dp[i], max((i-j)*j,dp[i-j]*j))`,其中`(i-j)*j`是把i分 ......
随想录 随想 代码 动态 part

力扣——1 [两数之和](https://leetcode.cn/problems/two-sum/)

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

代码随想录算法训练营第三十天| 51. N皇后 37. 解数独 总结

卡哥建议:今天这三道题都非常难,那么这么难的题,为啥一天做三道? 因为 一刷 也不求大家能把这么难的问题解决,所以 大家一刷的时候,就了解一下题目的要求,了解一下解题思路,不求能直接写出代码,先大概熟悉一下这些题,二刷的时候,随着对回溯算法的深入理解,再去解决如下三题。 大家今天的任务,其实是 对回 ......
解数 随想录 训练营 随想 皇后

代码随想录算法训练营第二十九天| 491.递增子序列 46.全排列 47.全排列 II

491.递增子序列 卡哥建议:本题和大家刚做过的 90.子集II 非常像,但又很不一样,很容易掉坑里。 https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html 视频讲解:https://ww ......
随想录 训练营 九天 序列 随想

代码随想录刷题记录——链表

链表相关题目 2023-09-01 707.设计链表-leetcode 题目链接 题目: 关键点: 定义成员变量: private: int _size; Node *_dummyHead; 定义链表节点结构体和构造函数: //定义链表节点结构体 struct Node { int val; Nod ......
随想录 随想 代码