<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZeroCBoy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ZeroCBoy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ZeroCBoy]]></copyright><item><title><![CDATA[242. Valid Anagram]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52465343</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52465343</guid><author>ZeroCBoy</author><pubDate>Thu, 08 Sep 2016 00:49:26 +0800</pubDate><description><![CDATA[class Solution {
public:
    bool isAnagram(string s, string t) {
        if (s.length() != t.length()) return false;
        int n = s.length();
        unordered_map counts;
        for (int i = 0; ]]></description><category></category></item><item><title><![CDATA[357. Count Numbers with Unique Digits]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52463263</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52463263</guid><author>ZeroCBoy</author><pubDate>Wed, 07 Sep 2016 21:08:09 +0800</pubDate><description><![CDATA[class Solution {
public:
    int countNumbersWithUniqueDigits(int n) {
        int ret=1;
        int product=1;
        for(int i=0,j=9;i<n;i++)
        {
            ret+=product*9;
            prod]]></description><category></category></item><item><title><![CDATA[171. Excel Sheet Column Number]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52447301</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52447301</guid><author>ZeroCBoy</author><pubDate>Tue, 06 Sep 2016 09:57:04 +0800</pubDate><description><![CDATA[class Solution {
public:
    int titleToNumber(string s) {
        int ret=0;
        for(auto ch : s)
            ret=ret*26+ch-'A'+1;
        return ret;
    }
};]]></description><category></category></item><item><title><![CDATA[122. Best Time to Buy and Sell Stock II]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52447178</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52447178</guid><author>ZeroCBoy</author><pubDate>Tue, 06 Sep 2016 09:45:18 +0800</pubDate><description><![CDATA[int maxProfit(vector &prices) {
    int ret = 0;
    for (size_t p = 1; p < prices.size(); ++p) 
      ret += max(prices[p] - prices[p - 1], 0);    
    return ret;
}

/*class Solution {
public:
    i]]></description><category></category></item><item><title><![CDATA[100. Same Tree]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52439377</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52439377</guid><author>ZeroCBoy</author><pubDate>Mon, 05 Sep 2016 13:15:27 +0800</pubDate><description><![CDATA[/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
clas]]></description><category></category></item><item><title><![CDATA[349. Intersection of Two Arrays]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52438592</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52438592</guid><author>ZeroCBoy</author><pubDate>Mon, 05 Sep 2016 11:09:51 +0800</pubDate><description><![CDATA[class Solution {
public:
    vector intersection(vector& nums1, vector& nums2) {
        unordered_set s(nums1.begin(),nums1.end());
        vector ret;
        for(auto x : nums2)
            if(s.er]]></description><category></category></item><item><title><![CDATA[238. Product of Array Except Self]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52437557</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52437557</guid><author>ZeroCBoy</author><pubDate>Mon, 05 Sep 2016 09:33:38 +0800</pubDate><description><![CDATA[class Solution {
public:
    vector productExceptSelf(vector& nums) {
        int n=nums.size();
        int fromBegin=1;
        int fromLast=1;
        vector res(n,1);
        
        for(int i=0;]]></description><category></category></item><item><title><![CDATA[283. Move Zeroes]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52371126</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52371126</guid><author>ZeroCBoy</author><pubDate>Tue, 30 Aug 2016 17:07:53 +0800</pubDate><description><![CDATA[class Solution {
public:
    void moveZeroes(vector& nums) {
        int first=0;
        while(first<nums.size()&&nums[first])
            first++;
        int second=first+1;
        while(1)]]></description><category></category></item><item><title><![CDATA[.260. Single Number III]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52370168</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52370168</guid><author>ZeroCBoy</author><pubDate>Tue, 30 Aug 2016 16:01:34 +0800</pubDate><description><![CDATA[class Solution {
public:
    vector singleNumber(vector& nums) {
        int result=0;
        for(auto n : nums)
            result^=n;
        result=~(result-1)&result;
        vector ret={0,0};]]></description><category></category></item><item><title><![CDATA[226. Invert Binary Tree]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52369444</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52369444</guid><author>ZeroCBoy</author><pubDate>Tue, 30 Aug 2016 15:07:36 +0800</pubDate><description><![CDATA[/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
clas]]></description><category></category></item><item><title><![CDATA[389. Find the Difference]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52367562</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52367562</guid><author>ZeroCBoy</author><pubDate>Tue, 30 Aug 2016 11:04:43 +0800</pubDate><description><![CDATA[class Solution {
public:
    char findTheDifference(string s, string t) {
        /*vector count(26,0);
        for(int i=0;i<s.size();i++)
            count[s[i]-'a']++;
        for(int i=0;i<t.size(]]></description><category></category></item><item><title><![CDATA[167. Two Sum II - Input array is sorted]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52366716</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52366716</guid><author>ZeroCBoy</author><pubDate>Tue, 30 Aug 2016 09:51:27 +0800</pubDate><description><![CDATA[class Solution {
public:
    vector twoSum(vector& numbers, int target) {
        int i=0;
        int j=numbers.size()-1;
        while(1)
        {
            int sum=numbers[i]+numbers[j];
       ]]></description><category></category></item><item><title><![CDATA[104. Maximum Depth of Binary Tree]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52366538</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52366538</guid><author>ZeroCBoy</author><pubDate>Tue, 30 Aug 2016 09:36:56 +0800</pubDate><description><![CDATA[/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
clas]]></description><category></category></item><item><title><![CDATA[258. Add Digits]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52282488</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52282488</guid><author>ZeroCBoy</author><pubDate>Tue, 23 Aug 2016 00:24:24 +0800</pubDate><description><![CDATA[class Solution {
public:
    int addDigits(int num) {
	return num-(num-1)/9*9;
	//return num?1+(num-1)%9:0;
        //return 1+(num-1)%9;         //-1%9=-1
    }
};]]></description><category></category></item><item><title><![CDATA[136. Single Number]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52281222</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52281222</guid><author>ZeroCBoy</author><pubDate>Mon, 22 Aug 2016 22:59:53 +0800</pubDate><description><![CDATA[class Solution {
public:
    int singleNumber(vector& nums) {
        int result=0;
        for(auto iter=nums.begin();iter!=nums.end();iter++)
            result^=*iter;
        return result;
    }
]]></description><category></category></item><item><title><![CDATA[.371. Sum of Two Integers]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52281129</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52281129</guid><author>ZeroCBoy</author><pubDate>Mon, 22 Aug 2016 22:49:49 +0800</pubDate><description><![CDATA[class Solution {
public:
    int getSum(int a, int b) {
        while(b)			//直到没有进位
        {
            int c=a^b;			//先不管进位
            b=(a&b)<<1;			//进位
            a=c;			//到这里：相当于a为一个值，b为进位值。]]></description><category></category></item><item><title><![CDATA[292. Nim Game]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52280639</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52280639</guid><author>ZeroCBoy</author><pubDate>Mon, 22 Aug 2016 21:35:14 +0800</pubDate><description><![CDATA[//如果是4的倍数，无论第一个人取？个，只要第二个人取（4-？）个，都是第二个人赢。所以，只要不是4的倍数，第一个人取完让剩下的是4的倍数，然后采取前面的策略就一定赢。class Solution {
public:
    bool canWinNim(int n) {
        return n%4?true:false;
    }
};]]></description><category></category></item><item><title><![CDATA[338. Counting Bits]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52279291</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52279291</guid><author>ZeroCBoy</author><pubDate>Mon, 22 Aug 2016 18:47:45 +0800</pubDate><description><![CDATA[//原理：2（1*2+0）就是在1的二进制表示后面加0（即和1的位数相同），3（1*2+1）就是在1的二进制表示后面加1（即比1的位数多1），4（2*2+0）就是在2的二进制表示后面加0（即和2的位数相同），5（2*2+1）就是在2的二进制表示后面加1（即比2的位数多1），以此类推。class Solution {
public:
    vector countBits(int num) {]]></description><category></category></item><item><title><![CDATA[344. Reverse String]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52278937</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52278937</guid><author>ZeroCBoy</author><pubDate>Mon, 22 Aug 2016 17:52:58 +0800</pubDate><description><![CDATA[class Solution {
public:
    string reverseString(string s) {
        reverse(s.begin(),s.end());
        return s;
        
        /*char temp;
        int left=0;
        int right=s.size()-1;
    ]]></description><category></category></item><item><title><![CDATA[计算机网络知识点汇总]]></title><link>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52131670</link><guid>https://blog.youkuaiyun.com/ZeroCBoy/article/details/52131670</guid><author>ZeroCBoy</author><pubDate>Fri, 05 Aug 2016 19:02:03 +0800</pubDate><description><![CDATA[1.
小端：低字节在低地址。
大端：高字节在低地址。
我们知道网络上的数据流是字节流，对于一个多字节数值，在进行网络传输的时候，先传递哪个字节？也就是说，当接收端收到第一个字节的时候，它是将这个字节作为高位还是低位来处理呢？
网络字节序（大端）：收到的第一个字节被当作高位看待，这就要求发送端发送的第一个字节是高位。而在发送端发送数据时，发送的第一个字节是该数字在内存中起始地址（低地址）对应]]></description><category></category></item></channel></rss>