原创 【Lua】lua的全局變量、局部變量、函數閉包和非局部變量(upvalue)

Lua腳本語言的變量是弱類型的,即變量沒有類型,值纔有類型,同一名稱的變量具體類型要看所賦值的類型,如下 a=1    --整型 a=1.0  --浮點型 a="ab" --string型  a={}  --table型 a=funct

原创 【leetcode】66-加一【C/C++】

題目如下: 解題思路: 本題只可能有三種情況: 給定整數中最後一位不是數字9(如12341234); 給定整數中最後一位是數字9,但不全是數字99(如10991099); 給定整數所有位全是數字9(如99999999) 那麼 對於上述情

原创 【Mac】Mac終端下使用Corkscrew + SSH通過代理連接內網服務器

問題: 對於通過代理訪問內網服務器,我們需要通過http代理訪問代理服務器,再訪問內網服務器。而mac不支持xshell從而無法爲SSH連接增加代理,所以選擇corkscrew工具。 解決步驟: 1、通過Homebrew包管理工具(Hom

原创 【Linux】Shell腳本中如何使用“循環”遍歷“數組”中的元素(包括MySQL的常用指令介紹)

一、背景 實習過程中,今天mentor突然讓我拉取一下遠端園區數據庫中的部分信息,因爲包含很多不同園區的數據信息,而且要以園區爲單位生成文件來對數據進行存放,因此自然是需要使用shell腳本來自動生成文件。 起初我寫了一個一次生成一個文件

原创 【Linux】通過xshell從遠端服務器“下載/上傳”文件或文件夾

1、如果是文件夾 針對文件夾,需要先做壓縮操作,因爲用於傳輸的lrzsz工具不支持文件夾的傳輸。 # tar -zvcf cntr.tar.gz cntrMig/ //當前在~目錄下,需要傳輸~/cntrMig/文件夾 //先對其執行壓

原创 【leetcode】77-組合【C/C++】

題目如下: 解題思路: DFS + 剪枝 + 回溯 。注意進入每一層時的剪枝條件。 代碼如下: class Solution{ public: vector<vector<int>> combine(int n, int k

原创 【leetcode】69-平方根【C/C++】

題目如下: 解題思路: 先指數增加,確定 sqrt(x)的大致範圍; 藉着對已經確定的範圍採用二分法,找到 x 的平方根。 代碼如下: class Solution { public: int mySqrt(int x) {

原创 【leetcode】78-子集【C/C++】

題目如下: 解題思路: 方法一:本題因爲數組無重複元素,那麼子集一共就有 2^nums.size() 種情況。因此採用位運算,從數字 0 到 2^nums.size() - 1 ,分別對每一個數進行二進制位運算,將對應位爲 1 對應的數

原创 【leetcode】73-矩陣置0【C/C++】

題目如下: 解題思路: 第一想法是利用 O(m+n) 的額外空間,第一遍遍歷矩陣,確定哪些行、列需要置0,第二遍置0。 實際上只需要 O(1) 的額外空間即可,用matrix第一行和第一列記錄該行該列是否有0,作爲標誌位但是對於第一行,

原创 【leetcode】75-顏色分類【C/C++】

題目如下: 解題思路: 方法一、直接採用插入排排序或快速排序即可。 代碼如下: 插入排序 class Solution { public: //插入排序 void sortColors(vector<int>& num

原创 【leetcode】67-二進制求和【C/C++】

題目如下: 解題思路: 長度補齊後進行計算。 代碼如下: class Solution { public: string addBinary(string a, string b) { int a_size =

原创 【C/C++】auto關鍵字的使用

一、C++98 auto 早在C++98標準中就存在了auto關鍵字,那時的auto用於聲明變量爲自動變量,自動變量意爲擁有自動的生命期,這是多餘的,因爲就算不使用auto聲明,變量依舊擁有自動的生命期: int a =10 ;

原创 【C/C++】istringstream的使用

istringstream的功能與使用 C++引入了ostringstream、istringstream、stringstream這三個類,要使用他們創建對象就必須包含<sstream>這個頭文件。 istringstream類用於執行

原创 【leetcode】71-簡化路徑【C/C++】

題目如下: 解題思路: 本題思路較爲簡單,採取入棧的方法。先只考慮"/"之間的字符串: 當遇到不是"."和".."時的字符串,則將當前元素入棧; 當遇到".."且棧不爲空時,則出棧頂部元素; 其他情況不做處理。 問題的關鍵在於如何識別

原创 【leetcode】70-爬樓梯【C/C++】

題目如下: 解題思路: 典型的動態規劃題目,dp[n] = dp[n-1] + dp[n-2] 。 代碼如下: class Solution { public: //典型的動態規劃題,dp[n] = dp[n-1] + dp[