2018年4月16日 星期一

67. Add Binary

吸加加的string好方便QQ
不過還是寫的很醜
sign

Add Binary
class Solution {
public:
    string addBinary(string a, string b) {
        int lenA = a.length();
        int lenB = b.length();
        string ret;
        int i,j, flag = 0;
        for(i=lenA,j=lenB;(i>0 || j>0);i--,j--)
        {
            int anum = 0,bnum = 0;
            if (i>0)
                anum = a[i -1] - '0';
            if (j>0)
                bnum = b[j -1] - '0';

            int tmp = flag + anum + bnum;
            if (tmp > 1)
            {
                flag = 1;
                tmp -=2;
            }
            else
                flag = 0;
            ret = to_string(tmp) + ret;


        }
        if (flag>0)
            ret = "1" + ret;

        return ret;
    }
};

2018年4月14日 星期六

[35] Search Insert Position

給一個sorted array和一個數字,
回傳這個數字在array裡的index
如果不存在, 則回傳依大小把它加進去的話它應該是多少index
吸加加到底是什麼
我現在好迷惘啊~~~(滾來滾去滾來滾去)

Search Insert Position
class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int i, len = nums.size();
        for (i=0;i<len;i++)
            if (nums[i] >= target)
                break;
        return i;
    }
};

2018年3月7日 星期三

[78] Subsets

更新吸加加版本:
class Solution {
public:
    vector<vector<int>> subsets(vector<int>& nums) {
        vector<vector<int>> ret(1,vector<int>());
        for (auto &i : nums)
        {
            int len = ret.size();          
            for (int j=0;j < len;j++)
            {
                ret.push_back(ret[j]);
                ret.back().push_back(i);
            }
        }
        return ret;
    }
};
太久沒寫吸加加, 原來我其實不會吸加加QQ
vector 是什麼QQ vector of vector 是什麼 QQ
auto也是第一次看到, 我是上古時代的人嗎XD
想嘗試用auto, 怎麼一直寫不粗乃!
原來第二個for有新增element , 長度會改變,
需要在動它之前記錄原本長度才刻以
以上.

***更新分隔線更新分隔線***

給一個array列出它所有subset的可能
是一個用講的很簡單, 用C寫卻半天寫不出來的東西(該不會只有我XD!)
弄半天才發現自己malloc的觀念還是亂七八糟的Orz
然後感覺calloc 很好用啊為什麼我以前都沒用呢 (?)(問誰呢 XD)
看來之前幾題用到int ** columnSizes的大概都用錯了 QQ
哭哭~這幾天趕快來複習修正一下QQ

Subsets
/**
 * Return an array of arrays of size *returnSize.
 * The sizes of the arrays are returned as *columnSizes array.
 * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
 */
int** subsets(int* nums, int numsSize, int** columnSizes, int* returnSize) {
    int retSize = pow(2,numsSize);

    *returnSize = retSize;
    int** ret = malloc(sizeof(int*)* (retSize));
    int curSize = 0,i,j;
    for (i=0;i<retSize;i++)
    {
        ret[i] = malloc(sizeof(int)*(numsSize+1));
#if 1
        *columnSizes = malloc(sizeof(int)*retSize);
        memset(*columnSizes,0,sizeof(int)*retSize);
#else
        *columnSizes = calloc(retSize, sizeof(int));
#endif
    }
    curSize++;
    if (retSize>1)
        ret[curSize++][(*columnSizes)[1]++] = nums[0];

    for (i=1;i<numsSize;i++)
    {
        int nowSize = curSize;
        for(j=0;j<nowSize;j++)
        {
            memcpy(ret[nowSize+j],ret[j],sizeof(int) * (*columnSizes)[j]);
            (*columnSizes)[nowSize+j] = (*columnSizes)[j];
            ret[curSize++][(*columnSizes)[nowSize+j]++] = nums[i];          
        }
    }
    return ret;
}


2018年1月29日 星期一

[26] Remove Duplicates from Sorted Array

糾結半天想想還是紀錄在一起吧.
只能算是練練語法的吸加加QQ

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if (nums.size()<1)
            return NULL;
        //        for(auto c : nums)
        int i, index = 0;
        for (i=0;i<nums.size()-1;i++)
            if (nums[i]!=nums[i+1])
            {
                nums[index++] = nums[i];
            }
        nums[index++] = nums[nums.size()-1];
        return index;
    }
};

***分隔線C跟++分隔線***

跟前一題很像(比樓下)
其實是可以放在一起
給一個sorted array, 要把一樣的拿掉.

Remove Duplicates from Sorted Array
int removeDuplicates(int* nums, int numsSize) {
    if (nums== NULL || numsSize==0)
        return 0;
    int i,index=1;

    for(i=1;i<numsSize;i++)
    {
        if(nums[i-1] != nums[i])
        {
            nums[index++]=nums[i];
        }
    }
    return index;
}

2018年1月16日 星期二

[?/365] what the...

寫了幾天之後覺得頓失靈感 XD
雖然硬擠好像也可以擠出一點什麼
但是有意義嗎XD
改成隨意update好啦~(或者根本就cancel不是更快嗎 hahaha)

就這樣吧
(快逃)

2018年1月11日 星期四

[11/365] 天窗

哎呀!開天窗真是一件容易達成的事呀XD
睏意來襲的時候
一扇天窗已為您敞開?! XD
上帝為你開一扇天窗,就會再開另外一扇,
天窗們相連到天邊~~~(搭肩搖)

好累
沒做什麼事卻覺得極累
連吃太飽也累XD
what should I say today ?
讓我們點播一首
Let it be ~~~~~~

2018年1月10日 星期三

[9/365] 好的開始?!

什麼?我還有一個東西叫做365嗎?XD

回家包便當的感覺真是溫馨
雖然媽媽應該覺得很困擾吧哈哈哈
猜拳輸的洗碗結果我輸了

下次還是直接推給別人洗吧噗

中午跑去找阿思玩
順便在星巴克買了外帶的荷蘭小鬆餅
感覺不錯!
但是附贈的焦糖醬為什麼在快吃光了的時候才浮現在杯底呢威什麼~~~
不甘心沒完整吃到它只好硬食焦糖醬
覺得甜XD
明天直接去內用好了(誤)(是嫌錢太多嗎一份90ㄟXD)

今天還聽說了驚人的消息
時機未到暫時不提
咱們下次見

2018年1月8日 星期一

[8/365] 千金難買早知道

這兩天的感想就是...
costco的草莓大福真好吃 XD

坐在客廳
用airplay投了音樂播放
許多裝置不是我弄的
大概也是原本的我不會買的
但是
這一兩個月來真的覺得很傷心很低潮的時候
蓋著毛毯窩在沙發上聽歌
我擁有的仍然很多很多
不是嗎

就算是很小 很小的事情
我都記著
因為我不想要忘記
那每一個 曾經有替我著想的心意

然後呢(跳一下)
我不算計人
不代表別人不會算計我啊
說好的世界大同呢!
為誰辛苦為誰忙啊
我當真傻!!!
不管講幾遍
都沒有辦法原諒我自己讓這樣的事情發生在我身上
真!的!傻!!!
好氣我自己真的好氣!!!(跺腳踏地)

2018年1月7日 星期日

[7/365] 我們要飛到那遙遠地方看一看

立刻開天窗的365 XD 覺得鳥 XD
一時昏迷然後就天亮了,就算了XD
許多感想,但過了好像就忘了~噗
並不想要變成閃光文系列
但確實蠻多心得都是感情方面的
雖然年紀大了已經不能說是閃光文
是一種老人文吧XD
有"啊原來是這樣啊"的感覺
說不上來,很難形容

所謂的照顧是什麼
陪伴是什麼
微妙啊~(微妙的是妳的不知所云吧XD!)

出發的時候雖然因為工作的事情心情很差
但仍然有"我要去度假了!!!"的期待感
在淡淡的氛圍下很想點播張懸的張三的歌

我要帶著因為工作受傷的我自己,到遠方看一看
然後
感謝一直陪在我身旁(打電動)的人(XD)

即使只是去到了火車一兩個小時內就能抵達的地方
即使整整兩天都是在下雨
即使什麼景點都沒有去
即使只是看第四台電影,打寶可夢佔道館耍廢
即使各做各的
還是很好

有一種好就是希望對方好,希望自己也好,希望一起好
其實真的是在一個很不錯的狀態
就是除了工作以外XD 哭哭 XD

2018年1月6日 星期六

[5/365] 晚安

今天出門玩兒,晚安 :)