原创 計算字符串最後一個單詞的長度

華爲機試題 等級:簡單 知識點:字符串 循環 需要注意的地方: 1.用數組作函數參數的使用 2.字符串輸入cin.getline 3.審題,考慮特殊字符的輸入 #include <iostream> #include <

原创 OJ入門介紹

OJ——online judge 要求:正確處理輸入格式;正確處理輸出格式;輸入輸出均是標準輸入/輸出,不用考慮讀寫文件。 1.正確處理輸入格式 常見輸入格式: 預先不輸入數據的組數; 預先輸入數據的組數; 只有一組輸入數

原创 排序(3)

案例1(以後再看,對堆排序瞭解不足) 已知一個幾乎有序的數組,幾乎有序是指,如果把數組排好順序的話,每個元素移動的距離不超過k,並且k相對於數組長度來說很小。問選什麼方法對其排序比較好。 分析:時間複雜度從小到大分析 複雜度

原创 字符串(2)

案例1 題目: 普通解法爲二叉樹遍歷+匹配問題 考察t1中以每個節點爲頭的子樹是否與t2一致。 若T1節點數爲N,T2爲M。 普通解法的時間複雜度爲O(N*M) 最優解爲二叉樹序列化+KMP算法 時間複雜度爲O(N

原创 概率(2)

案例6 案例7 然後把a和N-1交換 然後把b和N-2交換 直到打印M個數即可 此技巧比較重要! 案例8

原创 引用&指針

《C++ Primer》 引用: 引用必須初始化,初始化一旦完成,引用將和它的初始值對象一直綁定在一起。 引用即別名。 因爲引用本身不是一個對象,不能定義引用的引用。 引用只能綁定在對象上,而不能與字面值或某個表達式的計算結果綁

原创 MySQL(3)約束以及修改數據表

MySQL外鍵約束的要求解析 約束 1.保證數據的完整性和一致性。 2.分爲表級約束和列級約束 3.約束類型包括: NOT NULL(非空約束) PRIMARY KEY(主鍵約束)

原创 動態規劃(2)

案例1 有n級臺階,一個人每次上一級或者兩級,問有多少種走完n級臺階的方法。 分析: 走到第i級臺階,需要之前走到第i-1級臺階或第i-2級臺階。 所以,走完i級臺階的方法說=走完i-1級臺階的方法數+走完i-2級臺階的方法數

原创 字符串求數字長度

#include <stdio.h> #include <iostream> #include <cstring> #include <stdlib.h> #include <math.h> using namespace std; vo

原创 報數—循環鏈表

struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }

原创 MySQL(2)數據類型與操作數據表

MySQL數據類型之整型 數據類型: 決定數據存儲格式,代表不同的信息類型。 整型 有符號位:數字最高位01表示正負 MySQL數據類型之浮點型 注意M和D,一定M>=D MySQL數據類型之日期時間型 列類型

原创 後綴樹

後綴樹簡介:後綴樹,就是把一串字符的所有後綴保存並且壓縮的字典樹。相對於字典樹來說,後綴樹並不是針對大量字符串的,而是針對一個或幾個字符串來解決問題,比如字符串的迴文子串,兩個字符串的最長公共子串等等,後面應用會說。性質:一個字符串構

原创 概率(1)

常見題型 1、在筆試面試中常作爲客觀問題出現(選擇題) 2、在筆試中往往出現概率、期望的計算。 3、往往利用古典概率進行計算(組合數學) 概率的應用 1.利用隨機來改進著名算法(快速排序) 2.隨機數發生器(用給定的隨機數發生器

原创 大數據

認識Map-Reduce 根據哈希函數的性質,我們知道,單詞相同的任務會被分在一起。 reduce階段 Map-Reduce的優勢在於大數據處理。 常見海量處理題目解題關鍵 案例1 請對10億個IPV4

原创 位運算(1)

算術運算和位運算的操作符 案例1 本題涉及大數據和位運算 普通方法: 布隆過濾器可精確的代表一個集合 可精確判斷某一元素是否在此集合中 精確程度由用戶的具體設計決定 不可能做到100%精確 布隆過濾器優勢在於,利用