自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (9)
  • 收藏
  • 关注

转载 LeetCode之Merge k Sorted Lists

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; 采用分治算法。参考自:http://www.cnblogs.com/TenosDoIt/

2015-07-31 21:03:40 350

原创 LeetCode之Merge Two Sorted Lists

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* me

2015-07-31 14:54:42 219

原创 LeetCode之Merge Sorted Array

/*解题思路:从后面开始遍历两个数组,选择较大元素加入到数组的尾部。直到两个数组都已经加入。*/class Solution {public: void merge(vector& nums1, int m, vector& nums2, int n) { int idx1(m-1); int idx2(n-1); int idx(m+

2015-07-31 14:25:54 250

转载 LeetCode之Word Break II

/*与Word Break II 相似,不过需要记住单词的前驱。用深度搜索算法获得结果输出。参考自:https://github.com/soulmachine/leetcode*/class Solution {public: vector wordBreak(string s, unordered_set& wordDict) { if(s.empty()) r

2015-07-30 10:48:11 335

原创 LeetCode之Word Break

/*动态规划法。设dp[i]表示s[0...i]是否满足题意,则有dp[i] = {dp[k] && s.substr(k, i-k)}(k=0...i-1,有一个为真即可)。*/class Solution {public: bool wordBreak(string s, unordered_set& wordDict) { if(s.empty()) retu

2015-07-29 09:55:19 340

原创 LeetCode之Distinct Subsequences

/*动态规划法。设dp[i][j]表示S[0...i]中T[0...j]出现的次数,则有1)若S[i]!=S[j],dp[i][j] = dp[i-1][j];2)若S[i]==S[j],dp[i][j] = dp[i-1][j] + dp[i-1][j-1]。*/class Solution {public: int numDistinct(string s, string t

2015-07-28 22:06:52 303

原创 LeetCode之Decode Ways

class Solution {public: int numDecodings(string s) { if(s.empty()) return 0; vector dp(s.size(), 0); if(s[0] > '0') dp[0] = 1; else if(s[0] == '0') return 0;

2015-07-24 23:00:14 344

原创 LeetCode 之Edit Distance

/*动态规划法。用dp[i][j]表示word1[i...m],word[j...n]的距离(m,n分别表示其最后一个元素)。1)若word1[i] == word2[j],则有dp[i][j] = dp[i+1][j+1];2)若word1[i] != word2[j], 则有dp[i][j] = min{ dp[i+1][j+1]+1(这种情况是用word1[i]代替word2[

2015-07-24 21:58:59 288

原创 LeetCode之Minimum Path Sum

/*动态规划法。用dp[i][j]表示从左上角到grid[i][j]表示的元素的最小距离。则有dp[i][j] = min{dp[i][j-1]+grid[i][j], dp[i-1][j]+grid[i][j]}。下面在实现过程中采用滚动数组的方法将空间复杂度降到o(n).*/class Solution {public: int minPathSum(vector>& gri

2015-07-24 11:33:06 340

转载 LeetCode之Scramble String

/*动态规划法。设状态为 f[n][i][j],表示长度为 n,起点为 s1[i] 和起点为 s2[j] 两个字符串是否互为 scramble,则状态转移方程为f[n][i][j]} = (f[k][i][j] && f[n-k][i+k][j+k])|| (f[k][i][j+n-k] && f[n-k][i+k][j])。参考自:https://github.com/soulmach

2015-07-24 10:45:53 322

原创 LeetCode之Interleaving String

/*动态规划法。用dp[i][j]==true表示s1[0...i-1]和s2[0...j-1]能组成s3[0...i+j-1],则dp[i][j] = (dp[i-1][j] && s1[i-1]==s3[i+j-1]) || (dp[i][j-1] && s2[j-1]==s3[i+j-1]).*/class Solution {public: bool isInterleav

2015-07-23 10:23:32 326

转载 LeetCode之Best Time to Buy and Sell Stock III

/*由于最多存在两次交易,所以可以将数组分成两个子段,两个子段中分别做一次交易,使得两侧交易之和最大即可。当在同一天进行了买入和卖出时,相当于不做交易,即整个流程中只进行一次交易。用f[i]表示[0,i]中最大的值,g[i]表示[i,n-1]中交易最大的值。那么结果即为max{f[i]+g[i]};参考自:https://github.com/soulmachine/leetcode*/

2015-07-22 22:36:54 277

原创 LeetCode之Maximal Rectangle

/*这道题是Largest Rectangle in Histogram的二维版本,因此可以将一维版本的解法应用到这道题的解法中。*/class Solution {public: int maximalRectangle(vector>& matrix) { if(matrix.empty()) return 0; vector height(mat

2015-07-21 22:14:15 367

原创 LeetCode之Palindrome Partitioning II

/*动态规划法。用dp[i]表示s[0...i]的最小cut数目。令j<=i,1)如果s[j...i]是回文串,那么dp[i] = min{dp[j-1]+1, dp[i]};2)如果s[j...i]不是回文串,那么i...j这些子字符串无法合并,它们对减少cut数目没有贡献,此时无需更新dp数组。为了判断s[j...i]是否是回文串,需要用一个二维数组来记录。*/class Solu

2015-07-16 19:55:12 320

原创 LeetCode之Maximum Subarray

/*动态规划法。*/class Solution {public: int maxSubArray(vector& nums) { if(nums.empty()) return 0; int res(INT_MIN), sum(-1); for(int i = 0; i < nums.size(); ++i){

2015-07-16 11:34:23 333

原创 LeetCode之Triangle

/*动态规划法。思路:从最后一层往上走,直到第一层。那么从最下层到达某个数triangle[i][j]的最小值的递推为:dp[i][j] = triangle[i][j] + min(dp[i+1][j] + dp[i+1][j+1])。最后返回dp[0][0]即为答案。(这里采用一维数组即可(因为dp[i-1]的求解不影响dp[i]的求解)。)*/class Solution {pub

2015-07-15 14:27:31 308

原创 hihoCoder之#1000 : A + B

#include using namespace std;int main(){ int a, b; while(cin >> a >> b){ cout << a + b << endl; } return 0;}

2015-07-13 18:52:12 999

原创 hihoCoder #1015之KMP算法

#include #include #include using namespace std;class Solution {public: int kmp_search(const string &s, const string &p) { if(s.size() < p.size()) return 0; vector next(p.size()+1, 0); ge

2015-07-13 18:50:19 546

原创 LeetCode之Evaluate Reverse Polish Notation

/*用栈模拟后缀表达式的求值过程。遍历字符串的容器:1.遇到符号,将栈里面最上面的两个数字出栈进行符号表示的相应计算,并将结果入栈。2.遇到数字,将数字入栈。3.最后,栈顶元素即表达式的结果。*/class Solution {public: int evalRPN(vector& tokens) { if(tokens.empty()) return 0;

2015-07-10 21:54:39 327

转载 LeetCode之Largest Rectangle in Histogram

/*用栈维持一个不递减的数组的下标。用以获取某个连续段的最大矩形。参考自:https://github.com/soulmachine/leetcode*/class Solution {public: int largestRectangleArea(vector& height) { if(height.empty()) return 0; height.push_back(0

2015-07-09 22:48:12 404

转载 LeetCode之Longest Valid Parentheses

/*开一个栈,用来存储'('的下标。每一个')'会匹配一个'('。参考自:https://github.com/soulmachine/leetcode*/class Solution {public: int longestValidParentheses(string s) { if(s.empty()) return 0; stack left_

2015-07-08 22:01:03 311

原创 LeetCode之Valid Parentheses

/*本题直接采用栈模拟的方式。*/class Solution {public: bool isValid(string s) { if(s.empty()) return true; string res(""); for(int i = 0; i < s.size(); ++i){ if(s[i] == '('

2015-07-08 21:15:35 282

原创 LeetCode之Length of Last Word

/*找到最后一个单词最后一个字母出现的位置,以及第一个字母出现的位置的前一个位置。这两个位置相减就是最后一个单词长度。*/class Solution {public: int lengthOfLastWord(string s) { if(s.empty()) return 0; int last(s.size()-1), first(0);

2015-07-08 17:25:44 310

转载 LeetCode之Simplify Path

/*细节模拟题。参考自:https://github.com/soulmachine/leetcode*/class Solution {public: string simplifyPath(string path) { string res; vector path_name; string::iterator it = path.

2015-07-07 17:32:14 397

转载 LeetCode之Anagrams

/*这里回文构词法,值得单词中的字母相同时,是同一组。那么我们将用unordered_map将它们分组存起来,最后输出成组的回文词组即可。方法参考自:https://github.com/soulmachine/leetcode*/class Solution {public: vector anagrams(vector& strs) { unordered_map

2015-07-07 16:45:35 357

原创 LeetCode之Count and Say

/*这是一道模拟题。第n个序列是根据n-1个序列获得的,所以通过n-1次循环即可获得结果。*/class Solution {public: string countAndSay(int n) { string res("1"); while(--n) res = getNext(res); return res; }

2015-07-07 16:25:09 281

原创 LeetCode之Longest Common Prefix

class Solution {public: string longestCommonPrefix(vector& strs) { if(strs.empty()) return ""; for(int i = 0; i < strs[0].size(); ++i){ for(int j = 1; j < strs.size();

2015-07-06 21:51:47 348

原创 LeetCode之Wildcard Matching

/*这里的难度主要是理解题意,题中要点如下:1.字符‘?’能匹配任何单个字符;2.字符‘*’能匹配任意长度的任意字符串。(这说明p中‘*’可以用来匹配s中0个、1个、2个...n个字符)根据以上题意,遍历p中*所有的匹配情况,即可获得解答方法。*/class Solution {public: bool isMatch(string s, string p) {

2015-07-06 21:39:52 365

转载 LeetCode之Regular Expression Matching

/*这道题最关键的是理解题意。最重要的是:当一个字母后面跟着字符'*',表示这个字符重复0次,1次,...,n次。所以在判断字符串是否匹配时,需要看接下来p的字符是否为'*'字符。分两种情况处理*///方法一:递归法class Solution {public: bool isMatch(string s, string p) { if(p.empty()) ret

2015-07-03 21:42:25 304

原创 LeetCode之Longest Palindromic Substring

/*暴力法:以每个元素为中心,左右扩展,找到以其为中心的最大回文串*/class Solution {public: string longestPalindrome(string s) { if(s.size() < 2) return s;//字符串数小于2,都为回文串 int count(-1); int left, right;

2015-07-01 21:35:44 266

原创 LeetCode之Add Binary

class Solution {public: string addBinary(string a, string b) { int i(a.size() - 1), j(b.size() - 1); int carry(0); string res(""); while(i >= 0 && j >= 0){

2015-07-01 21:12:43 364

原创 LeetCode之String to Integer(atoi)

class Solution {public: int myAtoi(string str) { int sign(1); int i(0), len = str.size(); long long value(0); while(i < len && str[i] == ' ') ++i;

2015-07-01 21:01:31 260

CameraRawTool: 将bayer raw 转为dng格式。

CameraRawTool: 将bayer raw 转为dng格式。

2022-08-22

cubic convolution/bilinear/nearest image resize matlab实现

cubic convolution/bilinear/nearest 算法的matlab实现。

2018-04-29

CMOS Sensor 资源

主要是CMOS Image Sensor相关原理,对相关知识感兴趣的可以好好研究下。

2018-03-03

Image Sensors and Signal Processing for Digital Still Cameras

本书介绍了现代数码相机的基本原理,基本覆盖到了各个硬件模块和少数算法的介绍。但本书的着重点是Image Sensor的成像原理、artifacts和noise来源,以及对策,想了解相关知识的可以仔细研读其相关部分。

2018-03-03

Electro-Optics-Digital Color Imaging Handbook

讲色彩科学以及它在摄影、印刷、显示等领域的应用。

2016-07-29

Single-Sensor Imaging Methods and Applications for Digital Cameras

单传感器相机经典书籍。

2016-07-12

vs2012中配置opencv2.4.9测试程序

vs2012中配置opencv2.4.9项目的简单测试程序。功能是用opencv2.4.9功能函数读入并显示一张图片

2014-05-18

Opencv手册

opencv官方文档,介绍了opencv每个函数的调用方法.

2014-05-11

空空如也

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

TA关注的人

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