原创 MySQL快速入門03----字符集 & 校對規則

一 字符集 字符集:是一套字符與字符編碼的集合。 字符,用於顯示的抽象符號。 編碼,計算機都是二進制存儲,因此需要將顯示符號轉換成二進制數才能存儲,每個字符所轉換成的二進制數,就是字符編碼。 常見的字符集&編碼:Ascii字符集,

原创 動態規劃----Triangle

問題描述: Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on

原创 MySQL快速入門06----實體關係 & 外鍵

一 實體關係 在數據庫中,常用的實體關係有三種:一對一、一對多和多對多。 1.1 一對一的實體關係 如果記錄的主鍵值等於另一個關係內記錄的主鍵值,我問稱之爲一對一的實體關係。 一對一的實體關係(1:1)使得兩個表保存的實體之間

原创 動態規劃----切割鋼條

動態規劃方法通常用來求解最優化問題。動態規劃算法設計步驟: 刻畫一個最優解的結構特徵。遞歸定義最優解的值。計算最優解的值,通常採用自底向上的方法。利用計算出的信息構造一個最優解。 帶備忘的自頂向下法:此方法仍按自然的遞歸形式編寫過程,但

原创 動態規劃----Maximun Subarray

問題描述: Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For exam

原创 劍指Offer----擴展:字符移位(騰訊)

問題描述: 小Q最近遇到了一個難題:把一個字符串的大寫字母放到字符串的後面,各個字符的相對位置不變,且不能申請額外的空間。你能幫幫小Q嗎? 輸入描述:輸入數據有多組,每組包含一個字符串s,且保證:1<=s.length<=1000. 輸

原创 劍指Offer----擴展:刪a複製b

問題描述: 刪除一個字符串中所有的a,並且賦值所有的b,字符串足夠大! 關鍵是倒着複製字符串數組! /* 刪除一個字符串所有的a,並且複製所有的b。注:數組足夠大! */ #include<stdio.h> #include<

原创 動態規劃----最長公共子序列LCS

1、基本概念   一個給定序列的子序列就是該給定序列中去掉零個或者多個元素的序列。形式化來講就是:給定一個序列X={x1,x2,……,xm},另外一個序列Z={z1、z2、……,zk},如果存在X的一個嚴

原创 劍指Offer----擴展:刪除整型數組中所有的重複元素(中興)

問題描述: 刪除整型數組中所有的重複元素,使得列表中只含有不同的元素。 方法一: 使用hash_map方法保存非重複的數字: #include<iostream> #include<hash_map> #include<algori

原创 劍指Offer----擴展:有趣的數字(騰訊)

問題描述: 小Q今天在上廁所時想到了這個問題:有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢? 輸入描述:輸入包含多組測試數據。對於每組測試數據:N - 本組測試數據有n個數a1,a2...an - 需要計算的數據保證:1<=

原创 劍指Offer----擴展:空格問題(京東)

問題描述: 給定字符串(ASCII碼0-255)數組,請在不開闢額外空間的情況下刪除開始和結尾處的空格,並將中間的多個連續的空格合併成一個。 例如:" i am a little boy. ",變成"i am a little boy"

原创 劍指Offer----擴展:構造迴文(騰訊)

問題描述: 給定一個字符串s,你可以從中刪除一些字符,使得剩下的串是一個迴文串。如何刪除才能使得迴文串最長呢?輸出需要刪除的字符個數。 方法一: 將輸入的字符串翻轉,利用動態規劃求兩個字符串的最大公共子序列! 源代碼 #inclu

原创 動態申請二維數組並釋放

1 C語言版 //申請一個m*n的二維數組,並釋放數組 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() { int m,

原创 劍指Offer----擴展:年終獎(京東)

問題描述: 小東所在公司要發年終獎,而小東恰好獲得了最高福利,他要在公司年會上參與一個抽獎遊戲,遊戲在一個6*6的棋盤上進行,上面放着36個價值不等的禮物,每個小的棋盤上面放置着一個禮物,他需要從左上角開始遊戲,每次只能向下或者向右移動

原创 劍指Offer----擴展:交換星號

問題描述: 一個字符串只包含*和數字,請把它的*號都放在開頭,且數字順序不能交換! 方法一: 三次循環數組,第一次將數組中的*號賦給臨時數組,第二次將數組中的數字賦給臨時數組,第三次將臨時數組中的元素賦給原數組! 源代碼: #in