原创 經典排序算法——堆排序

對於一個int數組,請編寫一個堆排序算法,對數組元素排序。 給定一個int數組A及數組的大小n,請返回排序後的數組。 測試樣例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] class HeapSort {

原创 經典算法——堆排序筆試題

阿里巴巴2016研發工程師筆試選擇題 1.將整數數組(7-6-3-5-4-1-2)按照堆排序的方式原地進行升序排列,請問在第一輪排序結束之後,數組的順序是_____。

原创 經典算法——最長迴文子序列

最長迴文子序列LPS(Longest Palindromic Subsequence)問題 一個字符串有許多子序列,比如字符串cabbeaf,它的子序列有c、abb、e、a、f,可以通過刪除某些字符而變成迴文字符串,字符串“cabbea

原创 經典算法——單鏈表反轉的遞歸方法和非遞歸方法

單鏈表反轉有遞歸和非遞歸兩種實現方法, 首先定義鏈表結點: //定義一個鏈表節點 struct ListNode { int value; ListNode *next; }; 一、遞歸方法 先反轉後面的鏈表,從最後面的兩個結點

原创 數值最優化:理解L-BFGS

數值最優化:理解L-BFGS 數值最優化是很多機器學習中的核心,一旦你已經選定了模型和數據集,那麼就需要通過數值最優化方法去最小化多元函數f(x) 估計出模型的參數: x∗=argminf(x) 通過求解上面的優化問題,得到

原创 經典算法——hihocoder#1014 : Trie樹(字典樹)

#1014 : Trie樹 時間限制:10000ms 單點時限:1000ms 內存限制:256MB 描述 小Hi和小Ho是一對好朋友,出生在信息化社會的他們對編程產生了莫大的興趣,他們約定好互相幫助,在編程的學習道路上一

原创 經典算法——子矩陣的最大累加和問題

一、題目要求 給定一個矩陣matrix,其中的值有正有負,有0,返回子矩陣的最大累加和,例如,矩陣matrix爲: -90 48 78 64 -40 64 -81 07 66 其中,最大累加和的子矩陣爲: 48 78 -40 64 -7

原创 經典算法——連續子數組的最大乘積

Maximum Product Subarray Find the contiguous subarray within an array (containing at least one number) which has the

原创 經典算法——Jump Game

Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element i

原创 經典算法——Number of Digit One

Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.

原创 經典算法——字符流中第一個不重複的字符

題目描述 請實現一個函數用來找出字符流中第一個只出現一次的字符。例如,當從字符流中只讀出前兩個字符"go"時,第一個只出現一次的字符是"g"。當從該字符流中讀出前六個字符“google"時,第一個只出現一次的字符是"l"。 輸出描述:

原创 經典算法——求絕對值溢出問題

Problem Description 求實數的絕對值。 Input 輸入數據有多組,每組佔一行,每行包含一個實數。 Output 對於每組輸入數據,輸出它的絕對值,要求每組數據輸出一行,結果保留兩位小數。

原创 經典算法——數組中只出現一次的數字

題目描述 一個整型數組裏除了兩個數字之外,其他的數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。 class Solution { public: void FindNumsAppearOnce(vector<in

原创 經典排序算法——歸併排序

對於一個int數組,請編寫一個歸併排序算法,對數組元素排序。 給定一個int數組A及數組的大小n,請返回排序後的數組。 測試樣例: [1,2,3,5,2,3],6 [1,2,2,3,3,5] class MergeSor

原创 經典算法——調整數組順序使奇數位於偶數前面

一、題目描述 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位於數組的前半部分,所有的偶數位於位於數組的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 二、解題思路 方法一:冒泡算法思想,當