<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dingzuoer的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dingzuoer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dingzuoer]]></copyright><item><title><![CDATA[对线性回归，logistic回归和一般回归的认识]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/48211311</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/48211311</guid><author>dingzuoer</author><pubDate>Fri, 04 Sep 2015 18:24:26 +0800</pubDate><description><![CDATA[【转载时请注明来源】：http://www.cnblogs.com/jerrylead

     JerryLead

     2011年2月27日

     作为一个机器学习初学者，认识有限，表述也多有错误，望大家多多批评指正。

1 摘要

      本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识。前四节主要讲述了回归问题，回归属于有监督学习]]></description><category></category></item><item><title><![CDATA[[转]文档的行数未知，怎样在概率控制下，选择输出每行]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46521559</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46521559</guid><author>dingzuoer</author><pubDate>Tue, 16 Jun 2015 18:00:27 +0800</pubDate><description><![CDATA[问题：如何随机从n个对象中选择一个对象，这n个对象是按序排列的，但是在此之前你并不知道n的值？ 
             具体些说，在事先并不知道行数的情况下，如何读一个文本文件，随机选择并输出一行？ 
       解答：我们总是选择第一行，并使用二分之一的概率选择第二行，使用三分之一的概率选择第三行，以此类推。在该过程结束的时候，每一行具有相同的选中概率（1/n，其中n是文件的总行数）：]]></description><category></category></item><item><title><![CDATA[将Hadoop中SequenceFile，MapFile转换为文本文件]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46503571</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46503571</guid><author>dingzuoer</author><pubDate>Mon, 15 Jun 2015 14:36:41 +0800</pubDate><description><![CDATA[前段时间一直在准备实习的事情，没有更新项目相关的博客。最近才通过了百度的实习生面试，面试的时候这个小项目助力不少，所以又想来补充一下前面没有分享的一些项目经验。Hadoop输入输出格式Hadoop中mapper的输入必须是(key, value)格式的。若输入文件类型为文本格式，这也是默认的输入文件类型。则key是行号，value就是这一行对应的文本。 
同理reducer输出的默认格式也是文本，输]]></description><category></category></item><item><title><![CDATA[二分查找面试]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46368373</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46368373</guid><author>dingzuoer</author><pubDate>Thu, 04 Jun 2015 22:25:36 +0800</pubDate><description><![CDATA[经典的面试题：get up from where you fell. 
可以使用统一的最终判决，mid计算。int binarySearch_1(const vector<int>& nums, int val) {
    //找出最大的下标i使nums[i] == val 
    int N = nums.size();
    if (N == 0) return -1;
    int l]]></description><category></category></item><item><title><![CDATA[Longest Substring Without Repeating Characters]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46364913</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46364913</guid><author>dingzuoer</author><pubDate>Thu, 04 Jun 2015 17:36:03 +0800</pubDate><description><![CDATA[题意： 
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for “abcabcbb” is “abc”, which the length is 3.]]></description><category></category></item><item><title><![CDATA[Maximal Rectangle(最大矩阵)]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46124853</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46124853</guid><author>dingzuoer</author><pubDate>Thu, 28 May 2015 16:19:46 +0800</pubDate><description><![CDATA[题意：Given a 2D binary matrix filled with 0’s and 1’s, find the largest rectangle containing all ones and return its area. 
题解：类似于求最大子矩阵和，可以将i到j行压缩为1行，而一行的最长连续1就是我们要求的矩形的宽度。代码如下：class Solution {
public:]]></description><category></category></item><item><title><![CDATA[Binary Tree Maximum Path Sum（树形动态规划）]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46124329</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46124329</guid><author>dingzuoer</author><pubDate>Thu, 28 May 2015 15:47:38 +0800</pubDate><description><![CDATA[题意：Given a binary tree, find the maximum path sum.The path may start and end at any node in the tree.For example: 
Given the below binary tree,   1
  / \
 2   3
Return 6.题解：设dp[root]为从root一直往下走的最大和，设最大]]></description><category></category></item><item><title><![CDATA[Interleaving String（动态规划求字符重构）]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46123695</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46123695</guid><author>dingzuoer</author><pubDate>Thu, 28 May 2015 15:10:25 +0800</pubDate><description><![CDATA[题意：Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.For example, 
Given: 
s1 = “aabcc”, 
s2 = “dbbca”,When s3 = “aadbbcbcac”, return true. 
When s3 = “aadbbbaccc”, return fa]]></description><category></category></item><item><title><![CDATA[Largest Rectangle in Histogram （栈）]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46120299</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46120299</guid><author>dingzuoer</author><pubDate>Thu, 28 May 2015 11:45:19 +0800</pubDate><description><![CDATA[题意：Given n non-negative integers representing the histogram’s bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.题解：我们用栈来保存直方图中的递增子序列，若i在栈中，则在i之前比i小的直方图的下标]]></description><category></category></item><item><title><![CDATA[Recover Binary Search Tree(BST中序遍历)]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46048397</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46048397</guid><author>dingzuoer</author><pubDate>Wed, 27 May 2015 16:21:46 +0800</pubDate><description><![CDATA[题意：Two elements of a binary search tree (BST) are swapped by mistake. 
Recover the tree without changing its structure.题解：因为BST中序遍历（左中右）的结果肯定组成一个上升序列。 
如：1,2,3,4,5,6. 
所以若节点有交换，则肯定有逆序对的存在。 
如：1,5,3,4,2]]></description><category></category></item><item><title><![CDATA[Shortest Palindrome(KMP)]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46047283</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46047283</guid><author>dingzuoer</author><pubDate>Wed, 27 May 2015 15:18:55 +0800</pubDate><description><![CDATA[题意：Given a string S, you are allowed to convert it to a palindrome by adding characters in front of it. Find and return the shortest palindrome you can find by performing this transformation.For exampl]]></description><category></category></item><item><title><![CDATA[Best Time to Buy and Sell Stock IV(动态规划)]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46043557</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46043557</guid><author>dingzuoer</author><pubDate>Wed, 27 May 2015 10:44:06 +0800</pubDate><description><![CDATA[题意：有一支股票每天的价格波动，请在给定的时间内完成k次交易使收益最大，一次交易代表买入再卖出，交易不能重叠（必须卖完之后在买）。题解：我们首先设global[i][j]为到第i天位置交易j次的最大收益。 
因为最后一次交易要么在第i天卖出，要么在之前卖出。在之前卖出的最大收益显然是global[i-1][j]，而要求第i天卖出的最大收益我们需要枚举在前面哪一天买进。可以得到转移方程： 
globa]]></description><category></category></item><item><title><![CDATA[Palindrome Partitioning&II(回文字符串)]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/46006163</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/46006163</guid><author>dingzuoer</author><pubDate>Tue, 26 May 2015 11:54:11 +0800</pubDate><description><![CDATA[题意：找出一个字符串中的所有切割使得切割后的子串都是回文字符串。首先想到一个简单的DP判断从i到j是否能组成回文。 
设dp[i][j] = 1代表a[i]到a[j]组成的子串是回文，反之则不是。 
转移方程：若dp[i+1][j-1] = 1且a[i] = a[j]则dp[i][j] = 1。 
然后寻找所有切割可以使用DFS，深搜每个可能的分割。代码如下：class Solution {
pub]]></description><category></category></item><item><title><![CDATA[LeetCode--Minimum Window Substring（最小匹配子串）]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/45818191</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/45818191</guid><author>dingzuoer</author><pubDate>Mon, 18 May 2015 11:36:33 +0800</pubDate><description><![CDATA[题意：Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n).For example, 
S = “ADOBECODEBANC” 
T = “ABC” 
Minimum window is “BANC”.Not]]></description><category></category></item><item><title><![CDATA[POJ 1050-To the Max（最大子矩阵和）]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/45670197</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/45670197</guid><author>dingzuoer</author><pubDate>Tue, 12 May 2015 15:31:43 +0800</pubDate><description><![CDATA[题意：给定一个二维矩阵，求它子矩阵的最大和。 
题解：首先我们从一维数组出发，给定一个一维数组a[]，求它的最大连续子数组和。 
易知使用动态规划，设dp[i]为以a[i]结尾的最大子数组和。 
转移方程：
若dp[i] > 0，则dp[i+1] = dp[i]+a[i+1]。
若dp[i] <= 0， 则dp[i+1] = a[i+1]。
一维的如上求解，然后我们试着将二维的转化成一维，我们将子矩]]></description><category></category></item><item><title><![CDATA[数组指针和指针数组的区别]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/45504269</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/45504269</guid><author>dingzuoer</author><pubDate>Tue, 05 May 2015 16:30:42 +0800</pubDate><description><![CDATA[数组指针（也称行指针）
定义 int (*p)[n];
()优先级高，首先说明p是一个指针，指向一个整型的一维数组，这个一维数组的长度是n，也可以说是p的步长。也就是说执行p+1时，p要跨过n个整型数据的长度。


如要将二维数组赋给一指针，应这样赋值：
int a[3][4];
int (*p)[4]; //该语句是定义一个数组指针，指向含4个元素的一维数组。
 p=a;    ]]></description><category></category></item><item><title><![CDATA[LeetCode--Find Minimum in Rotated Sorted Array]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/45479009</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/45479009</guid><author>dingzuoer</author><pubDate>Mon, 04 May 2015 12:05:46 +0800</pubDate><description><![CDATA[题意：Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).Find the minimum element.You may assume no duplicate exists in the array.题解]]></description><category></category></item><item><title><![CDATA[基于Nutch和Hadoop的简易搜索引擎]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/45195883</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/45195883</guid><author>dingzuoer</author><pubDate>Wed, 22 Apr 2015 15:35:16 +0800</pubDate><description><![CDATA[最近和寝室的同学一起搭建了Hadoop的集群，实现了一个简易的本地搜索引擎，并且将其开源到了github上：https://github.com/ifuding/search-1047，接下来的几篇博文将对这个项目及其代码作一些详细的描述。搜索原理概述“搜索”，简而言之就是要分析用户输入然后输出给用户已经排好序的URL集合。一个简单的实现所需要的排序依据主要就是文本检索以及url的PageRank值]]></description><category></category></item><item><title><![CDATA[LeetCode--Sudoku Solver（DFS）]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/44804689</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/44804689</guid><author>dingzuoer</author><pubDate>Wed, 01 Apr 2015 11:39:21 +0800</pubDate><description><![CDATA[题意：求解9*9数独。 
题解：典型的DFS，使用三个hash数组来判断行，列以及方块的取值情况，根据深搜不断更新数组。代码如下：class Solution {
public:
    int solve(vector<vector<char> >& board,int r,int c){
        if(r == 8&&c == 9)
        //数独完成]]></description><category></category></item><item><title><![CDATA[LeetCode--Convert Sorted Array to Binary Search Tree（平衡二叉搜索树）]]></title><link>https://blog.youkuaiyun.com/dingzuoer/article/details/44802767</link><guid>https://blog.youkuaiyun.com/dingzuoer/article/details/44802767</guid><author>dingzuoer</author><pubDate>Wed, 01 Apr 2015 09:50:53 +0800</pubDate><description><![CDATA[题意：给定一有序数组，生成一颗平衡二叉树。 
题解：平衡二叉树任意节点的左右子树深度相差最大为1. 
因为二叉搜索树任意节点的左子树节点都比它小，右子树节点都比它大。所以对于一个有序数组我们选取中间的节点作为根，再分别递归地调用生成左右两个子树。代码如下：class Solution {
public:
    TreeNode* buildTree(vector<int> &num,int lef]]></description><category></category></item></channel></rss>