- 博客(120)
- 问答 (1)
- 收藏
- 关注
原创 part3—进程和线程
(一)、进程控制1、进程概述并行和并发时间片:CPU 会给每个进程被分配一个时间段,进程得到这个时间片之后才可以运行,使各个程序从表面上看是同时进行的。如果在时间片结束时进程还在运行,CPU 的使用权将被收回,该进程将会被中断挂起等待下一个时间片。如果进程在时间片结束前阻塞或结束,则 CPU 当即进行切换,这样就可以避免 CPU 资源的浪费。因此可以得知,在我们使用的计算机中启动的多个程序,从宏观上看是同时运行的,从微观上看由于 CPU 一次只能处理一个进程,所有它们是轮...
2022-05-22 19:03:47
519
原创 Generalized Product Quantization Network for Semi-supervised Hashing(用于半监督散列的广义乘积量化网络)
Abstract 哈希学习由于其存储成本低和搜索速度快,在图像检索方面取得了巨大的成功。近年来,利用深度学习优势的哈希方法已成为人们关注的焦点,并取得了一些积极的成果。 然而,除非昂贵的标签信息足够,否则这些方法不能达到预期。为了解决这个问题,我们提出了第一个基于量化的半监督哈希算法:广义乘积量化 (GPQ) 网络。我们设计了一种新颖的度量学习策略,可以保留标记数据之间的语义相似性,并使用熵正则化项来充分利用未标记数据的内在潜能信息。我们的解决方案提高了哈希函数的泛化能力,从而克服了检索...
2022-05-20 21:31:56
524
原创 剑指Offer68-Ⅰ—二叉搜索树的最近公共祖先
剑指Offer68-Ⅰ题意解法1—之前在数据结构入门计划中做过,凭感觉做的class Solution {public: TreeNode* find_p_or_q(TreeNode* root,TreeNode* p,TreeNode* q) { if((root->val-p->val)*(root->val-q->val)<=0) return root; root = roo.
2022-05-19 15:37:25
255
原创 std::move的源码
linux下,std::move源码如下:首先我们简洁一下这个函数,去掉constexpr属性修饰和noexcept不报异常关键字:我们发现,move返回的类型是:std::remove_reference<_TP>::type&&它是通过一个 static_cast的类型转换得到的。也就是说,move内部将我们的变量转换为了这个类型。那么这个类型到底是什么呢?它怎么转换的呢?进入remove_reference内部看看,他做了什么:...
2022-05-17 20:01:13
700
转载 STL之序列式容器
前言之前学STL一直都是零零散散的,这次想好好梳理一下STL。。什么是序列式容器?序列容器,即以线性排列(类似普通数组的存储方式)来存储某一指定类型(例如 int、double 等)的容器。该类容器并不会自动对存储的元素按照值的大小进行排序。序列式容器包含了哪些容器?array<T,N>(数组容器):表示可以存储N 个 T 类型的元素,是C++ 本身提供的一种容器。此类容器一旦建立,其长度就是固定不变的,这意味着不能增加或删除元素,只能改变某个元素的值。 vector&..
2022-05-16 15:34:17
341
原创 剑指Offer64—求1+2+..+n
剑指Offer64题意求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解题思路本题在简单问题上做了许多限制,需要使用排除法一步步导向答案。1+2+...+(n-1)+n1+2+...+(n−1)+n 的计算方法主要有三种:平均计算、迭代、递归。方法一:平均计算int sumNums(int n){ return (1 + n) * n / 2;}此计算必须使用乘除法...
2022-05-14 10:35:58
286
原创 现代C++ —通用性能的提升
1、constexpr在 C++11 中添加了一个新的关键字 constexpr,这个关键字是用来修饰常量表达式的。所谓常量表达式,指的就是由多个(≥1)常量(值不会改变)组成并且在编译过程中就得到计算结果的表达式。2、委托构造和继承构造函数委托构造函数托构造函数允许使用同一个类中的一个构造函数调用其它的构造函数,从而简化相关变量的初始化:#include <iostream>using namespace std;...
2022-05-13 22:00:37
545
原创 剑指Offer63—股票的最大利润
剑指offer63题意假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?解题思路好像之前做过类似的题,不写详解了,看代码一看就懂。。。class Solution {public: int maxProfit(vector<int>& prices) { int min_price=INT_MAX; int res=0; for(int price:pri
2022-05-13 10:33:47
174
原创 Which is Plagiarism: Fashion Image Retrieval based on Regional Representation for Design Protection
阿里提出区域检索算法用于服饰仿冒检索
2022-05-12 22:26:11
868
原创 现代C++ —易学和易用性质
1、自动类型推导auto与decltype2、基于范围的 for 循环#include <iostream>#include <string>#include <map>using namespace std;int main(void){ map<int, string> m{ {1, "lucy"},{2, "lily"},{3, "tom"} }; // 基于范围的for循环方式
2022-05-12 20:58:12
203
原创 剑指Offer61—扑克牌中的顺子数
剑指Offer61题意从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例2中,出现了两个0,可以把他们当成任何数,可以当作顺子中的任何一个缺少的数字,把它们当做3和4,那么这五个数就是1、2、3、4、5。是连续的,因此返回true。解题思路5张牌是顺子的充分条件如下:除大小王外,所有牌无重复; 设此5张牌中最大的...
2022-05-11 20:14:11
682
原创 剑指Offer59-Ⅱ—队列的最大值
剑指Offer59-Ⅱ题意请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value需要返回 -1。解法1—单调队列实现class MaxQueue {public: queue<int> que;//普通队列 deque<int> d_que;//用双端队列实现单调队列p..
2022-05-09 20:14:16
134
原创 剑指Offer59-Ⅰ—滑动窗口的最大值
剑指Offer59-Ⅰ题意给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。解法1—暴力法class Solution {public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { if(nums.size()==0) return {}; vector<int>res.
2022-05-08 14:41:07
658
原创 力扣数据结构14天学习计划day13
力扣700力扣700—二叉搜索树中的搜索题意给定二叉搜索树(BST)的根节点 root 和一个整数值 val。你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。法1—递归二叉搜索树满足如下性质:左子树所有节点的元素值均小于根的元素值; 右子树所有节点的元素值均大于根的元素值。据此可以得到如下算法:若 root 为空则返回空节点; 若val=root.val,则返回root; 若 val<r
2022-05-07 14:33:55
349
原创 剑指Offer58-Ⅱ—左旋转字符串
剑指Offer58-Ⅱ题意字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。解法1—字符串遍历class Solution {public: string reverseLeftWords(string s, int n) { if(0==s.size()) return s
2022-05-07 11:04:27
393
原创 第三章—C++之类
目录一、成员函数、对象拷贝、私有成员1、综述自实现time类二、构造函数详解、explicit、初始化列表1、构造函数2、隐式转换和explicit三、inline、const、mutable、this、static1、在类定义中实现成员函数,inline2、成员函数末尾的const(常量成员函数)3、mutable(不稳定,容易改变的意思),mutable的引入正好是为了突破const的限制4、this指针的指向5、static四、类内初始化、默认构造.
2022-05-06 17:06:56
467
原创 力扣数据结构14天学习计划day12
力扣226力扣226—翻转二叉树题意解法1—深度优先遍历(前序遍历+递归)我们可以前序遍历二叉树中的每个节点,然后翻转每个节点的左右节点,即可达到翻转整颗二叉树的效果。class Solution {public: void in_order(TreeNode* root) { if(root==nullptr) return; swap(root->left,root->right);
2022-05-06 15:31:03
386
原创 Multi-scale Interactive Network for Salient Object Detection(用于显著性目标检测的多尺度交互网络)
AbstractDeep-learning based salient(显著的)object detection methods achieve great progress.However, the variable scale and unknown category of salient objects are great challenges all the time.These are closely related to the utilization(利用) of mul...
2022-05-05 21:42:49
2521
原创 力扣数据结构14天学习计划—day11
力扣102力扣102—二叉树的层序遍历题意解题思路—利用队列实现层序遍历这题老面孔了,直接上代码吧。class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { if(nullptr==root) return {}; queue<TreeNode*> que; que.p.
2022-05-05 15:25:00
166
原创 力扣数据结构14天学习计划
力扣144—二叉树的前序遍历(中左右)力扣144题意解题思路—递归+非递归class Solution {public: void _preorderTraversal(TreeNode* node,vector<int>& res) { //递归出口,节点为空就返回 if(nullptr==node) return; //单层递归逻辑。 res.pus.
2022-05-04 16:22:15
597
原创 剑指Offer57—和为s的两个数字
剑指offer57题意解法1—哈希表class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_set<int>uset;//num1+num2=target for(int num:nums) { if(uset.find(target-n.
2022-05-04 15:29:58
202
原创 力扣数据结构14天学习计划day9
力扣20—有效的括号力扣20题意题解class Solution {public: bool is_left(char ch) { return ch=='('||ch=='['||ch=='{'; } bool is_match(char left,char right) { switch(right) { case ')': if(l.
2022-05-03 17:21:25
563
原创 剑指Offer56-Ⅱ—数组中数字出现的次数Ⅱ
剑指Offer56-Ⅱ题意解法1—哈希表class Solution {public: int singleNumber(vector<int>& nums) { map<int,int> myMap; for(int num:nums) myMap[num]++; for(map<int,int>::iterator it=myMap.begin().
2022-05-03 16:12:37
366
原创 力扣数据结构14天学习计划day8
力扣206—翻转链表力扣206相关标签:递归、迭代、链表题意给你单链表的头节点head,请你反转链表,并返回反转后的链表。解法1—递归/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x)...
2022-05-02 14:55:58
440
空空如也
剑指Offer63—股票的最大利润
2022-05-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人