原创 二、unix瞭解

1.ls -a 顯示所有文件(包括隱藏文件)    ls -F 給文件打標記 *表示可執行文件,/表示目錄,@表示軟連接,沒帶表示普通文件    ls -l 看最後一列的顏色判斷文件還是目錄 2.mkdir 創建目錄    -p 多層創建

原创 一、剪繩子

一、題目描述 給你一根長度爲n的繩子,請把繩子剪成整數長的m段(m、n都是整數,n>1並且m>1,m<=n),每段繩子的長度記爲k[1],...,k[m]。請問k[1]x...xk[m]可能的最大乘積是多少?例如,當繩子的長度是8時,我們

原创 二、機器人的運動範圍

一、題目描述 地上有一個m行和n列的方格。一個機器人從座標0,0的格子開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數位之和大於k的格子。 例如,當k爲18時,機器人能夠進入方格(35,37),因爲3+

原创 六、關於c++的複合類型(四)

指針 1.指針是一個變量,但這個變量與普通變量最大的不同就是普通變量存儲着值,而指針存儲着值的地址而不是值本身。 2.一個變量的地址要怎麼找到呢?這裏使用地址運算符&,可以獲取一個變量的地址,地址一般是一個十六進制表示的整數。    in

原创 三、關於c++的複合類型(一)

數組 1.什麼是數組?數組是一種數據格式,存儲多個同類型的值。 2.數組的聲明    格式:類型 數組名稱[元素個數];    如:int a[10]; 3.C++中使用帶索引的方括號表示法來指定數組元素,如a[0],a[1]...表示a

原创 四、關於c++的複合類型(二)

字符串 1.什麼是字符串?字符串是存儲在內存的連續字節中的一系列字符,C++處理字符串有兩種方式:一種來自C語言,稱爲C-風格字符串,另一種是基於string類庫的方法 2.存儲在內存的連續字節中的一系列字符意味着可以存儲在char數組當

原创 七、關於c++的複合類型(五)

指針、數組和指針算術 1.指針和數組基本等價的原因在於指針算術和C++內部處理數組的方式 2.C++將數組名解釋爲地址,而第六時候說過指針變量也是一個地址 在前面講過int *a = new int [10];,指針指向new分配的內存地

原创 五、關於c++的複合類型(三)

string類 1.string類型的變量代替字符數組存儲字符串 2.使用string類,必須包含頭文件string,string類位於名稱空間std中。 3. string str1; string str2 = "Hello"; c

原创 一、Unix操作系統瞭解

一、操作系統 1.1.操作系統是連接用戶和硬件的軟件(系統軟件) 1.2.操作系統內核(kernel):與軟件打交道       操作系統外殼(shell):與用戶打交道 二、Unix 2.1."/"表示根目錄       "home"或

原创 重排序

原文鏈接:http://cmsblogs.com/?p=3994 一、數據依賴性 如果兩個操作訪問同一個變量,且這兩個操作中有一個爲寫操作,此時這兩個操作之間就存在數據依賴性。數據依賴分下列三種

原创 java內存模型

一、併發編程中需要考慮的兩個問題:線程之間的通信和同步 二、併發模型:共享內存,消息傳遞 在共享內存的併發模型中,線程之間通過寫-讀內存中的公共狀態進行隱式通信,而對於同步,是顯式進行的。程序員必須顯式指定某個方法或某段代碼需要在線程之間

原创 閉包

一、瞭解函數的執行 def hello():     print("hello") hello() 看一下上面的代碼的執行過程,代碼在解釋器中是按照順序的,一開始從上往下執行時,在執行第一行語句時並不會跳入函數體,因爲此時的一二行代碼只是

原创 裝飾器(可先了解閉包一章再閱讀此章)

一、什麼是裝飾器 裝飾器本質上是一個Python函數,它可以讓其他函數在不需要做任何代碼變動的前提下增加額外功能,裝飾器的返回值也是一個函數對象。 二、怎麼在不改變函數的代碼下爲函數添加額外功能 在這個例子中,我們在不改動函數text

原创 迭代對象和迭代器

一、可迭代對象(Iterable) 1.可以直接作用於for循環的對象就是可迭代對象。 2.可直接作用於for循環的數據類型有兩類: <1>集合數據類型 list、tuple、dict、set、str等 <2>generator 生成器和

原创 生成器

一、什麼是生成器 接觸了列表生成式,我們可以用列表生成式創建一個列表。但受內存限制,列表的容量不可能無限大,而且如果一個包含很多元素的列表而我們只訪問其中幾個,這樣就會白白浪費很多空間。所以我們有這樣一個想法,我們只保存得出列表的算法,再