- 博客(59)
- 资源 (17)
- 收藏
- 关注
原创 leetcode 90:子集 II
因为已经做过leetcode78 做这个相对较容易 首先对数组进行排序 之后再进行操作void push(std::vector<std::vector<int>> &a,std::vector<int> &v,std::vector<int> &nums,int n,int s){ if(v.size()...
2018-10-31 23:26:41 88
原创 leetcode 78:子集
、void push(std::vector<std::vector<int>> &a,std::vector<int> &v,std::vector<int> &nums,int n,int s){ if(v.size()==n){ a.push_back(v); return;...
2018-10-31 23:17:01 76
原创 leetcode 60:第k个排列
直接使用全排列之后再进行提取,会超出时间限制。本题限定了1-9可以使用简单的方式比如 n=5;k=50;数组为1,2,3,4,5首先是(n-1)!=24 第一个元素应该为50/24+1 , 也就是3,代表的是没使用数组的第3个元素,也即为3,k=50%24=2第二个元素(n-2)!=6 元素应该为2/6+1 ,也就是1 代表的是没使用的数组的第1个元素,也即1 ,k=2%...
2018-10-31 10:07:52 104
原创 leetcode 31:下一个排列
本题需要考虑的情况比较多,当原本是降序的话,我们只需将取变为升序即可,比如:3,2,1 变为1,2,3当最后的两个元素,倒数地一个大于倒数第二个时,只需互换位置即可 比如3,1,2,变为3,2,1当不是最后两个元素出现nums[i-1]<nums[i]时,我们首先要找到i位置(包括i位置)之后的大于nums[i-1]的最小数,假设为nums[k],将该元素nums[k]与第...
2018-10-30 22:00:14 100
原创 leetcode 47:全排列 II
因为46题已做,本题只需要判断是否重复即可void perM(std::vector<std::vector<int>> &a,std::vector<int> &b,std::vector<int>&nums,std::vector<int>&v,int number,int len){
2018-10-30 19:45:23 66
原创 leetcode 46:全排列
本题属于全排列的题,类似与leetcode 17,使用递归即可,使用一个数组用来表示nums的元素是否已使用,0表示没使用 1表示已使用void perM(std::vector<std::vector<int>> &a,std::vector<int> &b,std::vector<int>&nums,std::...
2018-10-30 19:39:45 244
原创 leetcode 41:缺失的第一个正数
因为所要求的时间复杂度是O(n),且空间复杂度是常数,所以我们每个位置对应一个正整数 第一个位置是1 第二个位置是2 以此类推先对数组使用交换,之后再访问数组 当位置与正整数不对应时返回结果int firstMissingPositive(std::vector<int>& nums) { int temp=0; int i=0; int ...
2018-10-30 13:01:28 150
原创 leetcode 28:实现strStr()
int strStr(string haystack, string needle) { if(needle.size()==0) return 0; for(int i=0;i<haystack.size();i++){ int flag=0; if(needle.size()>(haystack.size()-i...
2018-10-30 11:30:07 77
原创 leetcode 27: 移除元素
int removeElement(vector<int>& nums, int val) { int n=nums.size(); if(n==0) return 0; for(int i=0;i<n-1;){ if(nums[i]==val){ for(int j=i+1;j<...
2018-10-30 11:27:04 78
原创 leetcode 26:删除排序数组中的重复项
int removeDuplicates(vector<int>& nums) { int len=nums.size(); cout<<len<<std::endl; for(int i=0;i<len;i++){ while(nums[i]==nums[i+1]&&i<...
2018-10-30 11:25:31 66
原创 leetcode 34:在排序数组中查找元素的第一个和最后一个位置
使用二分法的方式void search(std::vector<int> &nums, int target, std::vector<int> &a, int s, int t) { if (s == t) { if (nums[s] == target) { if (a[0] == -1) { a[0] = s; a...
2018-10-30 09:33:34 128
原创 leetcode 25:k个一组翻转链表
创建一个数组,存放k个节点,之后进行改变顺序即可 ListNode* reverseKGroup(ListNode* head, int k) { if (k == 1) return head; int i = 0; ListNode*l1 = head; std::vector<ListNode*>c; while (l1!= NUL...
2018-10-30 08:31:48 108
原创 leetcode 24:两两交换链表中的节点
递归即可ListNode* swapPairs(ListNode* head) { if(head==NULL) return NULL; ListNode* l1=head; ListNode *l2=new ListNode(0); if(l1!=NULL) { l2 = head->next; i...
2018-10-27 15:19:22 114
原创 leetcode 23:合并K个排序链表
直接使用递归即可ListNode *merge(std::vector<ListNode*>& lists,int s,int t){ if(s==t)return lists[s]; int m=(s+t)/2; ListNode*l=merge(lists,s,m); ListNode*r=merge(lists,m+1,t); ...
2018-10-27 14:12:34 128
原创 leetcode 18:四数之和
四数之和与两数之和,三数之和leetcode 15类似,最后都要到两数之和,通过s++,t--来降低时间复杂度std::vector<std::vector<int>> fourSum(std::vector<int>& nums, int target) { std::vector<std::vector<int>&...
2018-10-27 14:10:07 143
原创 leetcode 32:最长有效括号
一、先对字符串进行遍历 首先从前往后排除不配对的')'首次遍历后的字符串被分成若干个字符串 再对这些字符串 从后往前排除不配对的'('int longestValidParentheses(std::string s) { std::stack<int> ss1; std::stack<char> ss2; std::stac...
2018-10-27 10:23:43 135
原创 leetcode 40: 组合总和 II
本题跟leetcode39很类似,感觉比39简单一点儿,首先对candidates数组进行排序,递归中的第一步是对数组第一个数进行操作,可以选择选取,也可以选择不选取同时注意去除重复的数组void combination(std::vector<std::vector<int>> &a,std::vector<int> v,std::vec...
2018-10-26 23:27:06 94
原创 leetcode 39:组合总和
同样是一个递归的题,类似与leetcode17。首先将输入的数组排序,这样能够保证先从小的数开始取,为了使得结果也是有序的,不至于重复,取一个数a要看是否大于等于已经取的数。比如candidates=[2,3,7],target=14如果已经取了[2,3], 再取时只能取大于等于3的数如果没有这个限制[2,2,3,3,2,2][3,3,2,2,2,2]均为...
2018-10-26 22:55:48 206
原创 leetcode 17:电话号码的字母组合
本题与leetcode 22 类似,使用递归的方式void letter(std::vector<std::string> &a,std::string digits,int number,std::map<char,std::vector<char>> m,std::string str){ int len=digits.size()...
2018-10-25 23:40:59 172
原创 leetcode 22:括号生成
使用递归的方式来做,当l>0时,可以添加一个左括号,当l<r时,可以添加一个右括号void generateP(std::vector<std::string> &a,string s,int l,int r){ if(l==0&&r==0) { a.push_back(s); ret...
2018-10-25 22:30:38 103
原创 opencv中傅里叶变换的使用
一、频率域滤波:频率域滤波的原理:频率直接关系到空间变化率,低频对应于图像中变化缓慢的灰度成分,较高的频率对应于图像中越来越快的灰度变化: 1.频谱的直流低频分量对应于图像的平滑区域 2.频率的高频分量对应于图像的边沿或变化剧烈区域 3.外界叠加噪声对应于频谱中频率较高的成分 4.恒定的干扰条纹对应于频谱中的某些特征点频率域的滤波...
2018-10-25 16:56:10 1765
原创 leetcode 49: 字母异位词分组
std::vector<std::vector<std::string>> groupAnagrams(std::vector<std::string> &strs){ std::vector<std::vector<std::string>> sss; std::map<std::string,int...
2018-10-25 09:07:25 133
原创 leetcode 50:Pow(x, n)
double myPow(double x, int n) { if(n == 0) return 1; if(n == 1) return x; int m= n / 2; if(n < 0) { m = -m; x = 1 / x; } double result = myPow(x, m); ...
2018-10-24 22:59:00 94
原创 leetcode 21:合并两个有序链表
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode *l3=new ListNode(0); ListNode *l4=l3; while(l1!=NULL&&l2!=NULL){ if(l1->val>=l2->val){ ...
2018-10-23 23:24:06 100
原创 leetcode 20:有效的括号
bool isValid(string s) { stack<int> sta; if(s.size()%2!=0){ return false; } for(int i=0;i<s.size();i++){ if(sta.empty()){ sta.push(s[i]); ...
2018-10-23 23:23:01 132
原创 leetcode 19:删除链表的倒数第N个节点
ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode*l1=head; int c=0; while(l1!=NULL) { c+=1; l1=l1->next; } if(c==n)return head->next; if...
2018-10-23 23:18:55 88
原创 leetcode 16:最接近的三数之和
跟leetcode 15类似int threeSumClosest(std::vector<int>& nums, int target) { std::vector<std::vector<int>> a; std::vector<int> b; sort(nums.begin(),nums.end());...
2018-10-23 00:05:47 111
原创 leetcode 15:三数之和
vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> a; vector<int> b; sort(nums.begin(),nums.end()); if(nums.size()<3)
2018-10-22 22:50:03 160
原创 leetcode 14:最长公共前缀
string longestCommonPrefix(vector<string>& strs) { if(strs.size()==0){ return ""; } string aa=strs[0]; int flag=0; int bb=0; for(int j=0;j<aa.size();j++...
2018-10-22 22:48:52 128
原创 leetcode 13:罗马数字转整数
int romanToInt(string s) { int a=0; for(int i=0;i<s.size();){ if(s[i]=='M'){ a=a+1000; i++; } else if(s[i]==...
2018-10-22 22:46:44 167
原创 leetcode 12:整数转罗马数字
string intToRoman(int num) { vector<char> a; int m=num/1000; for(int i=0;i<m;i++){ a.push_back('M'); } num=num%1000; if(num/900){ a.push_back('C')...
2018-10-22 22:44:50 123
原创 leetcode 11: 盛最多水的容器
容器盛的水是所x轴的差值×较小的高int maxArea(std::vector<int>& height) { int max=0; int h=0; for(int i=0;i<height.size()-1;i++) { for(int j=i+1;j<height.size();j++) ...
2018-10-22 22:42:25 132
原创 leetcode 9:回文数
bool isPalindrome(int x) { vector<int> a; if(x<0) return false; if(x==0) return true; if(x>0){ while(x/10!=0){ ...
2018-10-21 16:57:19 97
原创 leetcode 8: 字符串转整数 (atoi)
如果字符串前面有空格,先将空格删除,之后看第一个字符是不是‘+’或‘-’,再对后面的字符取0-9的数int myAtoi(std::string str) { std::cout<<str.size()<<std::endl; if(str.size()==0)return 0; int j=-1; for(int i=0;i<...
2018-10-21 16:55:37 104
原创 leetcode 7: 反转整数
int reverse(int x) { int y=0; while(x){ int temp=y; y=y*10+x%10; if((y-x%10)/10!=temp){ return 0; } x=x/10; } return y;}
2018-10-21 15:52:24 98
原创 leetcode 5:最长回文子串
std::string longestPalindrome(std::string s){ if(s.size()==0)return ""; if(s.size()==1)return s; int max=0; int start=0; for(int i=0;i<s.size()-1;i++) { int s1=i;...
2018-10-21 15:50:33 77
原创 leetcode 2:两数相加
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { int carry=0; ListNode *l4=new ListNode(0); ListNode *l3=l4; while(l1!=NULL||l2!=NULL){ int x=(l1!=NULL)?l1->val:0...
2018-10-21 15:47:42 162
原创 leetcode 1:两数之和
vector<int> twoSum(vector<int>& nums, int target) { int flag=0; vector<int>a; for(int i=0;i<nums.size()-1;i++){ for(int j=i+1;j<nums...
2018-10-21 15:46:19 76
原创 leetcode 6:Z字形变换
观察本题可以找到规律,每次对s的2*numRows-2个字母进行操作,比如3行时,每四个字母为一个循环,4行时每6个字母为一个循环。对于每次循环的前numRows个字母,用该字母的下标i%2*numRows 结果为当前字母所在的行。而对于每次循环的后numRows-2个字母,numRows-i%2*numRows为当前字母所在的行。以numRows举例,每6个字母为一个循环,就拿前6个字母...
2018-10-21 15:40:01 178
原创 均值滤波器的原理及实现
1.均值滤波器平滑线性空间滤波器的输出是包含在滤波器模板邻域内的像素的简单平均值,也就是均值滤波器。均值滤波器也是低通滤波器,均值滤波器很容易理解,即把邻域内的平均值赋给中心元素。均值滤波器用来降低噪声,均值滤波器的主要应用是去除图像中的不相关细节,不相关是指与滤波器的模板相比较小的像素区域。模糊图片以便得到感兴趣物体的粗略描述,因此那些较小的物体的灰度就会与背景混合在一起,较大的物体则变...
2018-10-14 17:03:41 41841
CCleaner清空回收站.rar
2019-11-25
opencv3.4.5.cache+opencv4.0.1.cache
2019-03-25
opencv调用tensorflow pb模型
2018-12-13
vim-7.4.tar.bz2和vimgdb-for-vim7.4-master.zip
2018-11-12
图像处理必读书籍
2018-11-10
boostdec opencv
2018-10-17
vgg_generate
2018-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人