原创 劍指offer18:刪除鏈表的節點(刪除指定節點,刪除重複節點)

題目一 在O(1)時間內刪除鏈表的節點。給定單向鏈表的頭指針和一個節點指針,定義一個函數在O(1)時間內刪除該節點。 解決思想  法一(不採用):從鏈表的頭結點開始,順序遍歷查找要刪除的結點,並在鏈表中刪除該結點,時間複雜度O(n) 法二

原创 劍指offer10:斐波那契數列(遞歸/非遞歸)

(一)題目描述 題目一:求斐波那契數列的第n項。 (二)思路分析 求解斐波那契數列有兩種常用的算法:遞歸算法和非遞歸算法。 算法一:遞歸解法。我們以求解F(10)爲例來分析遞歸的求解過程。想求得F(10),需要先求的F(9)和F(8)。

原创 【Linux】文件權限的劃分——屬主,同組用戶,其他用戶

        每一文件或目錄的訪問權限都有三組,每組用三位表示,分別爲文件屬主的讀、寫和執行權限;和屬主同組的用戶的讀、寫和執行權限;系統中其他用戶的讀、寫和執行權限。當用ls -l命令顯示文件或目錄的周詳信息時,最左邊的一列爲文件的訪

原创 【C語言】switch的實現 && switch與if-else的執行效率比較

(一)switch的實現原理 通俗的說,先在內存中把swich裏面的case值按照順序排一個表,當沒有那個值時,它對應的就是default. 具體地說,switch...case會生成一份大小(表項數)爲最大case常量+1的跳錶,程序首

原创 Unix、Linux、Windows操作系統的區別

1.操作區別 linux區分大小寫,windows在dos界面命令下不區分大小寫; linux所有內容均以文件形式保存包括硬件,用戶,而windows文件和硬件沒什麼關係,兩個之間沒有關聯; windows用擴展名區分文件如.exe代表執

原创 劍指offer5:替換空格

(一)問題描述        請實現一個函數,將一個字符串中的每個空格替換成“%20”。例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20Are%20Happy。 (二)解決思路        原來一個空格字符被

原创 【mysql數據庫】操作命令及簡單的增刪改查

SQL是一種結構化查詢語言。 注:在mysql>命令行中輸入命令時結尾都需要加分號“;” 一. 啓動並打開mysql的基本命令 service mysqld start    //打開數據庫服務器 mysql -u root –p   

原创 劍指offer9:用兩個棧實現隊列

(一)問題描述        用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。 (二)思路分析        入隊時直接入到棧1,出隊時分兩種情況:若棧2沒有數據則從棧1將數據入到棧2,從棧2出;若棧2

原创 劍指offer16:數值的整數次方

(一)題目描述        給定一個double類型的浮點數base和int類型的整數exponent。求base的exponent次方。不得使用庫函數,同時不需要考慮大數的問題。 (二)思路分析        算法的時間複雜度爲O(l

原创 Linux多線程死鎖的調試方法

  首先此處給出死鎖多線程代碼示例,便於理解: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <pthread.h> #include <unis

原创 劍指offer17:打印從1到最大的n位數(常規方法,遞歸方法)

(一)題目描述        輸入數字n,按順序打印出從1最大的n位十進制數。比如輸入3,則打印出1、2、3,一直到最大的三位數即999. (二)算法分析與代碼實現        常規方法:用字符串或數組存儲大數,因爲數字最大是n位的,所

原创 劍指offer65:不用加減乘除做加法

(一)題目描述      寫一個函數,求兩個整數之和,要求在函數體內不得使用+、-、*、/四則運算符號。 (二)思路分析        首先分析十進制的5+17=22這個結果的。實際上我們可以分成三部執行:第一步只做各位相加不進位,得到1

原创 劍指offer4:二維數組中的查找

(一)問題描述        在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。        

原创 劍指offer50:第一個只出現一次的字符

(一)問題描述        在字符串中找到第一個只出現一次的字符。如“google”中第一個只出現一次的字符是“l”. (二)思路分析        使用哈希表來記錄每個字符出現的次數,因爲字符char爲8位,總共有256個值,所有哈希

原创 計算機編程語言(機器語言,彙編語言,高級語言)

計算機語言:計算機語言通常是一個能完整、準確和規則地表達人們的意圖,並用以指揮或控制計算機工作的“符號系統”。 計算機語言通常分爲三類:即機器語言,彙編語言和高級語言。 1. 機器語言     機器語言是用二進制代碼表示的計算機能直接識別