自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 PyTorch 深度学习实践 第10讲 卷积神经网络(基础篇)

PyTorch 深度学习实践

2022-08-19 18:47:12 160 1

原创 PyTorch 深度学习实践 第9讲 多分类问题

PyTorch 深度学习实践

2022-08-19 18:45:41 246

原创 PyTorch 深度学习实践 第8讲 加载数据集

PyTorch 深度学习实践

2022-08-19 18:45:23 164

原创 PyTorch 深度学习实践 第7讲 处理多维特征的输入

PyTorch 深度学习实践

2022-08-19 18:45:00 111

原创 PyTorch 深度学习实践 第6讲 逻辑斯蒂回归

PyTorch 深度学习实践

2022-08-19 18:44:45 91

原创 PyTorch 深度学习实践 第5讲 用PyTorch实现线性回归

PyTorch 深度学习实践

2022-08-19 18:44:30 102

原创 《PyTorch深度学习实践》刘二大人 第4讲 反向传播

PyTorch 深度学习实践

2022-08-19 18:43:52 129 2

原创 《PyTorch深度学习实践》刘二大人 第3讲 梯度下降算法

PyTorch 深度学习实践

2022-08-19 18:43:26 105

原创 《PyTorch深度学习实践》刘二大人 第2讲 线性模型

PyTorch 深度学习实践

2022-08-19 18:43:01 498

原创 Leetcode102. 二叉树的层序遍历——BFS

法一:层数和节点一起入队/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(n.

2021-04-08 22:14:23 73

原创 Leetcode144/145/94——二叉树的前中后序遍历

区分前中后序遍历的方法:前序:中左右中序:左中右后序:左右中记住中间节点的位置递归法用递归法需要注意三点:传参和返回值终止条件单层递归的逻辑前序遍历传参是当前遍历节点cur和记录遍历结果的res,不需要返回值终止条件:当当前遍历节点为空时单层递归的逻辑:先记录中间节点的值,再访问左节点,访问右节点/** * Definition for a binary tree node. * struct TreeNode { * int val; * Tre

2021-04-08 22:13:03 44

原创 347. 前 K 个高频元素

法一:纯哈希表思路:用map记录每个元素出现的次数,自己定义map函数按照value值排序,前k个为答案。class Solution {public: static bool cmp(pair<int,int> a, pair<int,int> b) { return a.second > b.second; } vector<int> topKFrequent(vector<int>&am.

2021-04-07 16:35:54 48

原创 Leetcode239. 滑动窗口最大值——优先队列/双端队列

法一:优先队列class Solution {public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { priority_queue<pair<int, int>> q; for(int i = 0; i < k; ++i){ q.push({nums[i], i}); } .

2021-04-07 16:35:27 89

原创 Leetcode150. 逆波兰表达式求值

class Solution {public: int evalRPN(vector<string>& tokens) { stack<int> s; for(int i = 0; i < tokens.size(); i++){ if(tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "*" || tokens[i] == "/") { .

2021-04-07 16:35:08 77 1

原创 栈和队列理论篇

stackempty() 堆栈为空则返回真pop() 移除栈顶元素push() 在栈顶增加元素size() 返回栈中元素数目top() 返回栈顶元素用栈实现队列 倒两次的方法会超时queue1.入队:如q.push(x):将x元素接到队列的末端;2.出队:如q.pop() 弹出队列的第一个元素,并不会返回元素的值;3,访问队首元素:如q.front()4,访问队尾元素,如q.back();5,访问队中的元素个数,如q.size();括号匹配 哈希表stoi 字符串转intp

2021-04-07 16:34:43 39

原创 Leetcode28. 实现 strStr()——KMP

KMP实现class Solution {public: void getNext(int* next, string& needle){ //int* int j = 0; next[0] = 0; for(int i = 1; i < needle.size(); i++){ while(j > 0 && needle[i] != needle[j]){ .

2021-04-07 16:06:10 50

原创 Leetcode151. 翻转字符串里的单词

思路:先整体翻转,再局部翻转。遇到空格就跳过,对于不是第一个单词的词前加空格。因为有效单词前可能会有空格,所以可以采用覆盖的方法,不用开辟新数组。class Solution {public: string reverseWords(string s) { reverse(s.begin(), s.end()); int n = s.size(); int left = 0; //指向新数组的每个单词首 int right .

2021-04-07 16:03:58 43

原创 字符串知识点小结

常用函数C++标准库函数reverse,在字符串题里常用reverse(s.begin(), s.end()) //法一reverse(&s[i], &s[j]) //法二,左开右闭区间[i, j)replace 用法示例如下erasefind函数 挺强大的( 悄咪咪说感觉都可以不学KMP了haystack.find(needle); //返回needle在haystack的位置这里留一个kmp的帖子,之后来补string类详细操作参考了这里:C++ s

2021-04-07 16:03:19 56

原创 Leetcode454. 四数相加 II

set超时class Solution {public: int fourSumCount(vector<int>& A, vector<int>& B, vector<int>& C, vector<int>& D) { int cnt = 0; multiset<int> s; for(int a : A){ for(int b

2021-04-07 11:47:44 38

原创 Leetcode1/15/18——求和问题总结/map/双指针

结论在先:数组无序用map,数组有序用双指针1. 两数之和注意这里需要返回下标,所以不能给数组排序。使用map合适class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int> map; for(int i = 0; i < nums.size(); i++) {

2021-04-07 11:47:08 59

原创 哈希表理论篇

哈希:将元素通过一个函数转换为整数,使得该整数可以尽量唯一地代表这个元素。作用:快速判断一个元素是否出现集合里数组数组就是一个简单哈希表。可以用辅助数组记录元素出现次数。setset里面每个元素只存有一个key值,不允许两个元素有相同的key值。它支持高效的关键字查询操作,比如检查一个关键字是否在set中。如果这个key值之前存在的话就不插入。set会根据元素的值自动排序,底层是红黑树。unordered_set是无序的,底层是哈希表。我们构造set集合的目的是为了快速的检索,不可直接去修改键值

2021-04-07 11:03:44 96

原创 Leetcode2. 两数相加——链表

这道题我自己做的问题在于,一开始的判断条件是while(l1 != NULL && l2 != NULL),这样不好处理。改成while(l1 != NULL || l2 != NULL) ,l1,l2分开相加会好处理。必须设置虚拟头节点

2021-03-24 15:32:59 61

原创 Leetcode142. 环形链表 II

思路:对于每一个节点p,用指针q从头节点开始遍历,到p节点停止,如果遍历过程中p -> next 为q,则说明有环,q是入口。也有可能出现自环的情况,需要单独判断,即p指向本身。该方法为两层循环嵌套,对每一个节点p的循环条件为p不为空,当p为空时,则说明无环。若有环,遍历到最后一个节点及之前一定能找到入口,不会进入死循环。/** * Definition for singly-linked list. * struct ListNode { * int val; * L.

2021-03-24 15:27:14 39

原创 Leetcode206. 反转链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next.

2021-03-24 11:39:31 34

原创 Leetcode203. 移除链表元素——虚拟头节点

通过本题学习了虚拟头节点的用法。增加一个虚拟头节点(指向头节点的节点),可以将链表元素统一处理,不用单独处理头节点。注意C++编程删除节点,需要手动释放内存。自己犯的错误:删除节点后,cur不要立马后移,新的cur -> next也可能需要删除。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(.

2021-03-24 11:12:44 88

原创 Leetcode59. 螺旋矩阵 II——模拟过程

这道题的就是找规律,模拟顺时针画矩阵的过程。每一条边都要坚持一致的原则,才能按照统一的规则画下来,我是左开右闭。如下图。以下是找规律的过程通过本题学习到的小语法点:vector<vector> a(n, vector(n, 0));...

2021-03-20 13:50:14 97

原创 Leetcode209. 长度最小的子数组——滑动窗口

先上暴力解法class Solution {public: int minSubArrayLen(int target, vector<int>& nums) { int sum; int minLen = INT32_MAX; for(int i = 0; i < nums.size(); i++){ sum = 0; for(int j = i; j < nums.

2021-03-19 16:55:38 78

原创 Leetcode15. 三数之和——双指针法

首先用算法课上刚学的threeSumBinarySearch()求解。在确定了第一个数和第二个数之后,第三个数便为前两者之和的负数。我们可以通过**二分查找**来找到我们要的第三个数。即两层循环+一次二分查找。该算法时间复杂度为N^2lgN。首先给数组排序,避免同样三个数的不同顺序进行了重复计数。...

2021-03-18 20:30:48 146

原创 Leetcode167. 两数之和 II - 输入有序数组——双指针法/二分查找法

二分法的效率还挺高的。

2021-03-18 19:24:49 61

原创 Leetcode27. 移除元素——双指针法

双指针法又称快慢指针法。快指针遍历数组中的值,用于搜索需要删除的值。遇到正常值,慢指针记录下该值;遇到需要删除的值,快指针继续遍历,慢指针不改变。class Solution {public: int removeElement(vector<int>& nums, int val) { int slowIndex = 0; for(int fastIndex = 0; fastIndex < nums.size(); fastInde.

2021-03-17 19:24:18 87

原创 Leetcode81. 搜索旋转排序数组 II——二分查找/二分下标

这道题与33题的不同在于数组中可能存在重复元素。当区间两端都为相同元素时,无法判断有序区间在哪一边。处理方法:如果nums[mid] == nums[right],可以将right–,跳过一个相等元素。因为还有相等的元素在跳过后的子区间内,不影响一般性。但对于两个数的数组,此方法不可行,所以要先判断一下是否是target,再进行减一操作。class Solution {public: bool search(vector<int>& nums, int target) {.

2021-03-17 17:14:03 79

原创 Leetcode33. 搜索旋转排序数组——二分查找/二分下标

这道题的思路是以中间为界限,左右两边一定有一边是有序的,在有序数组的部分使用二分法。

2021-03-17 17:13:35 65

原创 Leetcode34. 在排序数组中查找元素的第一个和最后一个位置——二分查找/二分下标

本题为二分法的一个题型,在一个数组里查找一个数,简称为「二分下标」。思路:先考虑特例,空数组,直接返回。然后分别对第一个位置和最后一个位置进行查找。也就是运用两次二分查找法。class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { if(nums.size() == 0) return {-1, -1}; //给定目标值在数.

2021-03-16 20:14:29 124

原创 Leetcode35. 搜索插入位置——数组/二分查找法

发现自己刷完题后还是印象不深,痛定思痛,开始写题解了,从数组开始。刷题顺序是参考代码随想录的。看完题后先用自己的方法尝试解决,因为是有序数组,常规思路解决其实也很容易。遍历数组的每一个元素,遇到比target大的数就跳出循环。如果都比target小,返回的i值也是插入的位置。class Solution {public: int searchInsert(vector<int>& nums, int target) { int i; fo

2021-03-16 20:12:56 126

Cityscapes_TFrecord 用于DeepLabv3+测试

Cityscapes_TFrecord 用于DeepLabv3+测试 原来的文件下载次数到上限了,重发了一个无限次数的

2022-04-11

Cityscapes_TFrecord 用于DeepLabv3+测试

Cityscapes_TFrecord 用于DeepLabv3+测试

2022-04-11

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除