原创 完整的tensorflow訓練、保存和離線加載模型(以mnist爲例)

訓練模型和保存 from tensorflow.examples.tutorials.mnist import input_data import tensorflow as tf import pylab mnist=inpu

原创 堆排序(C++實現,非常簡潔明瞭)

#include<iostream> #include<vector> using namespace std; //i代表當前節點,n代表總的數量,這裏是在不斷的交換 //這裏最終建立的是小根堆,最小值往上冒 void cha

原创 最大矩形面積(C++實現)

題目介紹 給定一組非負整數組成的數組h,代表一組柱狀圖的高度,其中每個柱子的寬度都爲1。 在這組柱狀圖中找到能組成的最大矩形的面積(如圖所示)。 入參h爲一個整型數組,代表每個柱子的高度,返回面積的值。 輸入描述: 輸入包括兩

原创 給出兩個字符串(可能包含空格),找出其中最長的公共連續子串,輸出其長度

題目介紹 給出兩個字符串(可能包含空格),找出其中最長的公共連續子串,輸出其長度。 輸入描述: 輸入爲兩行字符串(可能包含空格),長度均小於等於50. 輸出描述: 輸出爲一個整數,表示最長公共連續子串的長度。 輸入例子1:

原创 非遞歸方式對二叉樹進行前序、中序、後序遍歷(C++實現)

前言 二叉樹的遍歷在面試中非常常見,大多數同學都可以寫出其遞歸遍歷方式,然而真正有難度的是非遞歸的遍歷方式,自己在面試的時候也遇到過這種情況,下面來分享下自己實現的三種非遞歸遍歷二叉樹的源代碼~ 源代碼 首先對樹節點進行定義: s

原创 兩個大數之間的乘積計算,string1="123456789...76",string2="23456...8957",求模擬計算機計算這兩個數字的乘積。(C++實現)

1、題目分析 其實只要知道了具體的乘法運算法則即可寫出這個實現,自己剛開始寫的時候也是一頭霧水,不過現在縷清了就好很多了~常規的兩個乘法運算,比如123和456,其實是先用第一個數的3和456分別作乘法運算,然後使用2並錯一位和4

原创 你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。

題目描述 你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。 給定一個代表每個房屋存放金額的非負

原创 給定一個整數數組 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。

題目描述 給定一個整數數組 nums ,找出一個序列中乘積最大的連續子序列(該序列至少包含一個數)。 題目分析 這時一個很典型的動態規劃題目,數組不一定是有序的,而且連續子序列中的符號也不一定一致,這是兩點需要注意的,詳細思路請見

原创 3sum問題:給定一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組。

問題描述 給定一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組。 問題分析 基本思路就是先對數組排序,順序選擇一個數字,然

原创 給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。(C++實現)

題目介紹 給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,鏈表變爲 1->2->3->5. 說明: 給定的 n

原创 給定一個字符串數組,將字母異位詞組合在一起。字母異位詞指字母相同,但排列不同的字符串。

題目介紹 給定一個字符串數組,將字母異位詞組合在一起。字母異位詞指字母相同,但排列不同的字符串。 示例: 輸入: ["eat", "tea", "tan", "ate", "nat", "bat"], 輸出: [ ["ate

原创 CatBoost之算法解析(Kaggle常用模型)

catboost 簡介 CatBoost據說是超越LightGBM和XGBoost的一大神器。 catboos的三個貢獻點 它自動採用特殊的方式處理類別型特徵(categorical features)。首先對categoric