- 博客(26)
- 收藏
- 关注
原创 hapter 1: Setting the Stage
关键词:factory pattern , Dependency Injection(DI), Guice(pronounced “juice” )参考:【1】维基DI :http://en.wikipedia.org/wiki/Dependency_injection【2】一篇博文:http://www.blogjava.net/xylz/archive/2009/xylz/arch
2014-07-28 15:42:44
788
原创 cuda编程------矩阵乘法
cuda + VS 2010 安装:http://www.cnblogs.com/xing901022/archive/2013/08/09/3248469.html本文主要介绍如何使用CUDA并行计算矩阵乘法://头文件#include "cuda_runtime.h"#include "device_launch_parameters.h"#include __glob
2014-03-21 17:09:33
1539
原创 How to find out suitable parameters using cross validation
problem description:Suppose we have a model with one or more unknown parameters, and a data set to which the model can be fit (the training data set). The problem is how to find out suit
2014-03-02 17:35:26
758
原创 how to install scikit-learn
Enviroment: system platform : OS 10.8.5Python:2.7The first method I've tried : failed using MacPorts : " It can be installed by typing the following command: sudo port install py-s
2014-02-28 14:10:15
907
原创 1163 访问艺术馆
#include#include#includeusing namespace std;#define num 700int tree[num];int dp[num][num];//dp[i][j]表示i节点在j时间能取得的最多的画为多少void search(int root,int maxtime)//maxtime表示可能分配给root节点的最多时间{ if(tre
2013-09-10 16:11:10
961
原创 [leetcode]Next Permutation
这个做法是从排序那道题目想出来的。具体做法如下从最后一位开始寻找之后比他大的数字,如果找到有这样的数则返回。如果之后有多个比他大的数,选择最靠近末尾一个。假设第i位之后的第j位比第i为大 ,则swap(num[i],num[j])并且将i位之后重新进行排序。class Solution {public: void search(vector num,int& begin,
2013-08-11 20:05:32
565
原创 Leetcode:Length of Last Word
考虑没周全class Solution {public: int lengthOfLastWord(const char *s) { // Start typing your C/C++ solution below // DO NOT write int main() function int len = strlen(s);
2013-08-03 12:13:25
463
原创 LeetCode:Permutation Sequence
我首先用vector进行保存,全部便利一遍,结果TLE了,不过遍历代码还是有参考价值的。class Solution {public:vector result;void search(int index,int max,int* A){ if(index==max) { strin
2013-08-03 11:38:35
627
原创 Leetcode:Set Matrix Zeroes
这是一道还比较容易出错的题目。不能用额外的空间,那我只能想到在原来数组上保存。如果matrix[i][j] ==0 则将 matrix[i][0]与matrix[0][j]置为0用于保存第i行和第j列全为0bug1: 第二次扫描时应该从i=1和j=1开始,如果从0开始则会对第一排,第一列数据污染。bug2:第一排,第一列是否全为0,应该用一个变量保存,如果只判断matrix
2013-08-01 17:44:55
546
原创 Leetcode:Minimum Window Substring
这道题目折腾死我了。。。最后参考大牛代码写成了,太容易写出bug了。思路很简单:两个指针,如果count没有达到tlength,则头指针继续往后扫描。当count等于tlength表示已经包含了所有的字符,则移动尾指针到不能缩短为止,也就是再缩短一个字符,则不能全部包含。class Solution {public: string minWindow(string S,
2013-08-01 13:15:37
542
原创 LeetCode:Remove Duplicates from Sorted Array I&&II
bug处我在处理时候从数组最后开始处理,则前面数据遭到了污染。class Solution {public: int removeDuplicates(int A[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function
2013-07-30 15:37:05
499
原创 Leetcode:Largest Rectangle in Histogram
寻找直方图最大面积对于 index=i 往左寻找第一个比i低的直方图p 往右寻找第一个比i低的直方图q 则以height[i]为高度的面积为 (q-p+1)*height[i];直接遍历 超时了,可以用使用dp新建两个数组 left和right 。 left[i]保存 左边第一个比i低得直方图标签 转移方程有 (设left[0]=-1) int p = i-
2013-07-29 12:16:23
506
原创 LeetCode水题
Partition List水过,顺序便利链表,每次发现比x小的节点p,则在p之前找到比x大的节点q插入,注意p、q为头结点情况。
2013-07-28 16:29:20
535
原创 Leetcode:Scramble String
dpsub[len][i][j] 表示s1从i开始与s2从j开始的长度为len是否为Scramble Stringclass Solution {public:bool sub[100][100][100]; bool isScramble(string s1, string s2) { if(s1.length()!=s2.length(
2013-07-23 21:37:04
586
转载 [LeetCode] Decode Ways
我的作法:这道题目我用搜索,每次选1个或者2个数字。然后TLE。这样的作法其实是相当于二叉树,TLE是很大一部分做重复工作。例如两种选择 1 2 和2 1 之后那一部分的计算是相同的,搜索计算了两次。、后来看网上有DP作法,保存搜索结果class Solution { private: vector f; public: int getF(int ind
2013-07-15 11:27:40
577
转载 leetcode:Subsets II
这道题目用深搜1、N个数字的可能的组合可以当做是N位二进制数,1表示选择该位,0表示不选择;2、可以用set先保存可以方便去重。class Solution { set> result;public: void dfs(vector&S, int i, vector tmp){ if(i == S.size()){ sort(t
2013-07-14 22:18:05
644
原创 LeetCode:Restore IP Addresses
这道题目有很多容易出错的地方,然后就是学会使用string的函数。class Solution {public: bool match(string s) { if(s.length()==1 && s>="0"&&s<="9") return true; if(s.length()==2 && s>="10"&&s<="99
2013-07-14 18:10:05
689
原创 LeetCode:Interleaving String
二维dpdp[i][j] 表示是否能有s1[0...i-1]和[s2[0....j-1]组成s3【0.....i+j-1】class Solution {public: bool isInterleave(string s1, string s2, string s3) { // Start typing your C/C++ solution below
2013-07-05 22:16:15
515
转载 LeetCode:Recover Binary Search Tree
使用constant space solution中序便利,用pre保存前一个便利到的值。从别人空间上看来的代码,很精简:http://blog.csdn.net/sunbaigui/article/details/8981243struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x)
2013-06-24 14:58:36
435
原创 Leetcode:Symmetric Tree
解题思路:根节点左子树做个旋转则为右子树(旋转是指所有节点左右孩子进行调换) 则每次判断左子树下每个位置节点是否与右子树相对应位置相同。class Solution {public: bool Reverse(TreeNode*node1,TreeNode*node2) { if(node1==NULL&&nod
2013-06-23 16:31:17
555
原创 LeetCode:Convert Sorted List to Binary Search Tree
寻找中间位置作为根节点,把根节点前面部分最后一个节点的next置为NULLclass Solution {public: TreeNode * sortList(ListNode *node) { if(node == NULL) return NULL; int len = 0; ListNode* p = node;
2013-05-21 10:10:56
577
原创 Leetcode:Distinct Subsequences
动态规划:dp[i][j] 表示最优子结构。if(S[i] == T[j]) dp[i][j] = dp[i-1][j-1] ;//S[i-1]能组成多少种T[j-1];else dp[i][j] =1;dp[i][j] += dp[i-1][j];// S[i-1]可以组成多少种T[j];下面代码可以再进行一个空间优化,class S
2013-05-20 14:37:48
531
原创 LeetCode:Minimum Depth of Binary Tree
宽搜class Solution {public: int minDepth(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function if(root == NULL)
2013-05-15 20:13:41
465
原创 LeetCode:Populating Next Right Pointers in Each Node I,II 编程之美3.10
解答: 队列实现按排遍历class Solution {public:struct InvoLevelNode { TreeLinkNode *node; int level; InvoLevelNode(TreeLinkNode *p,int n):node(p),level(n){} InvoLevelNode(){}//重定义构
2013-05-13 16:44:13
612
原创 编程之美 数组分割
问题1:有一个无序、元素个数为n的正整数数组,要求:如何能把这个数组分割为两个子数组,子数组的元素个数不限,并使两个子数组之和最接近。解答: int sum = 0; for (i=0; i<n; i++) sum += A[i]; memset(dp,0,sizeof(dp)); dp[0] = 1;//dp[
2013-05-12 15:52:29
651
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人