原创 Lintcode 138. 子數組之和 [Easy]

[20190331] 題目描述 給定一個整數數組,找到和爲零的子數組。你的代碼應該返回滿足要求的子數組的起始位置和結束位置 樣例 樣例 1: 輸入: [-3, 1, 2, -3, 4] 輸出: [0,2] 或 [1,3] 樣例解釋:

原创 Lintcode 51.上一個排列[Medium]

題目描述 給定一個整數數組來表示排列,找出其上一個排列。排列是有序的,前一個比當前表示的數字小。 題解 class Solution { public: /* * @param nums: A list of int

原创 Leecode 953. Verifying an Alien Dictionary[Easy]

題目描述 給定一個字符串數組和字典排序,這個字典序即外星人的字母順序表,驗證字符串數組是不是按照升序排列。 題解 寫一個比較函數,然後兩兩驗證。 class Solution { public: // check if a i

原创 LeetCode 144. 樹的前序遍歷迭代寫法

Time: 20190224 本題對應的是LeetCode 144,Medium難度(迭代算法的難度)。 樹的前序遍歷 Given a binary tree, return the preorder traversal of its

原创 【LeetCode 148】鏈表的歸併排序

上一篇文章用數組實現了二路歸併排序,核心在於要對每次減半的元素進行實質性的改變,在數組中我們用臨時數組記錄每次merge的結果,在鏈表中用歸併排序更加直接,因爲我們操作的是結點的指針。 題目描述 難度:中等 Sort a linked

原创 二路歸併排序

歸併算法的核心 二路歸併算法的核心是將兩個有序向量(數組)通過“雙指針法”合併起來。而歸併排序針對的是整體無序的數組,因此我們需要用遞歸算法,遞歸基是單個元素時,肯定是有序的,相鄰的兩個單個元素的數組合併到一起,形成更大一點的有序向量

原创 【Leetcode 795】Number of Subarrays with Bounded Maximum

難度:中等 題目描述 We are given an array A of positive integers, and two positive integers L and R (L <= R). Return the numbe

原创 【閱讀筆記】頻率視角下的機器學習

注:本文是對極客時間《機器學習40講》之《頻率視角下的機器學習》的閱讀記錄。 大綱 頻率 事件發生的頻率的極限值 統計學 參數確定,數據隨機 參數估計 統計機器學習 損失函數 經驗風險 頻率學派 對於概率的解讀,

原创 優先隊列之Leetcode 23合併K個有序鏈表

優先隊列要點複習 這在之前專門寫過一篇文章講優先隊列的使用方法: 優先隊列的優先級設置法 對於優先隊列,我們首先需要知道,它的底層是堆,或者說優先隊列是堆的一種別稱。堆自然就分成了兩個方向: 大頂堆 小頂堆 堆的結構維護着一種

原创 Leetcode106 由中序序列和後序序列構建二叉樹

最難的地方在於對序列的下標計算,比如給定一個序列,開始下標是i,那麼下標i+1就是開始元素的後一個元素,注意到,1還是當前元素組成的列表的元素個數。即i + size,是包含i元素在內的size個數組的最後一個元素的後面一個位置的下標

原创 基於Keras搭建mnist數據集訓練識別的Pipeline

搭建模型 import tensorflow as tf from tensorflow import keras # get data (train_images, train_labels), (test_images, tes

原创 【深度學習】全連接層or卷積層

對於圖像處理任務而言,在經過一連串的卷積、池化操作後,最後要接一個全連接層來對提取到的特徵進行分類或者回歸。 一般前面帶卷積操作的被稱之爲卷積基,後面跟一層或多層全連接層。 卷積神經網絡中流動的是3維/4維張量,是含有空間特徵的數據。

原创 正則化與奧卡姆剃刀原理

正則化是模型選擇的經典方法。 在想到正則化時,需要聯繫到這個詞:結構風險最小化。 結構風險 = 經驗風險 + 正則化項/罰項 且一般正則化項是模型複雜度的單調遞增函數,即模型越複雜正則化項值就越大。 奧卡姆剃刀原理 “如無必要,勿增實

原创 【深度學習原理】交叉熵損失函數的實現

交叉熵損失函數 一般我們學習交叉熵損失函數是在二元分類情況下: L=−[ylogy^+(1−y)log(1−y^)]L=−[ylog ŷ +(1−y)log (1−ŷ )]L=−[ylogy^​+(1−y)log(1−y^​)]

原创 【機器學習】Octave矩陣,向量的表示與基本操作

CS229中需要用到Octave來做,張量的存儲是必備的知識點,記錄一下備用: % The ; denotes we are going back to a new row. A = [1, 2, 3; 4, 5, 6; 7, 8,