原创 C++輸入掛

模板: 只適用於整數的輸入 #include <iostream> using namespace std; inline bool scan_d(int &num) { char in; bool IsN

原创 數據結構之樹

#include <iostream> using namespace std; /*樹的抽象數據結構類型 Operation InitTree(*T); //構造空樹T DestroyTree(*

原创 最長子序列LIS

在一個數組中抽出儘量多的使得抽出來的數形成的新的數組最長輸出最長的長度 (不能改變原數組的順序,抽出來的數形成數組時 必須按照在原數組中的前後順序排列且必須是一個數值越來越大的數組) 如:1 ,2 ,7 ,3 ,6, 13,

原创 洛谷 P1443 馬的遍歷

題目描述 有一個n*m的棋盤(1<n,m<=400),在某個點上有一個馬,要求你計算出馬到達棋盤上任意一個點最少要走幾步 輸入格式 一行四個數據,棋盤的大小和馬的座標 輸出格式 一個n*m的矩陣,代表馬到達某個點最少要走幾步(左對

原创 LeetCode 25.K 個一組翻轉鏈表

給你一個鏈表,每 k 個節點一組進行翻轉,請你返回翻轉後的鏈表。 k 是一個正整數,它的值小於或等於鏈表的長度。 如果節點總數不是 k 的整數倍,那麼請將最後剩餘的節點保持原有順序。 示例 : 給定這個鏈表:1->2->3->4-

原创 大整數加法

倒加 #include <iostream> using namespace std; #include <string> #include <algorithm> string A, B; int a[210], b[210],

原创 最大子數組和

https: 輸入一個整形數組,數組裏有正數也有負數。數組中連續的一個或多個整數組成一個子數組,每個子數組都有一個和。求所有子數組的和的最大值S。要求時間複雜度不高於 O(n^2)。 輸入格式:在一行輸入正整數n,在第二行輸入n個

原创 LeetCode 136.只出現一次的數字

給定一個非空整數數組,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例

原创 C++STL中有用的函數(持續更新)

cctype頭文件中的函數 isalnum(c) //當c是字母或數字時爲真 isalpha(c) //當c是字母時爲真 iscntrl(c) //當c是控制字符時爲真 isdigit(c) //當c是數字時爲真 isgr