感覺自己前兩天發布的時候忘了提自己為什麼要開這個系列了,特於19/3/23來補一下~
主要是前兩天想去面實習生,面了個大公司,然後一上來問我最簡單的演算法題我就不會。。。感覺太給川大人丟臉了,得努力了呢~好了,下面請看官們看正文~
-------------------------------------------我是分割線----------------------------------------
13. 羅馬數字轉整數**:羅馬數字包含以下七種字元:
i
,v
,x
,l
,c
,d
和m
。例如, 羅馬數字 2 寫做字元 數值
i 1
v 5
x 10
l 50
c 100
d 500
m 1000
ii
,即為兩個並列的 1。12 寫做xii
,即為x
+ii
。 27 寫做xxvii
, 即為xx
+v
+ii
。通常情況下,羅馬數字中小的數字在大的數字的右邊。但也存在特例,例如 4 不寫做
iiii
,而是iv
。數字 1 在數字 5 的左邊,所表示的數等於大數 5 減小數 1 得到的數值 4 。同樣地,數字 9 表示為ix
。這個特殊的規則只適用於以下六種情況:給定乙個羅馬數字,將其轉換成整數。輸入確保在 1 到 3999 的範圍內。
示例 1:
示例 2:輸入: "iii"
輸出: 3
示例 3:輸入: "iv"
輸出: 4
示例 4:輸入: "ix"
輸出: 9
示例 5:輸入: "lviii"
輸出: 58
解釋: l = 50, v= 5, iii = 3.
輸入: "mcmxciv"
輸出: 1994
解釋: m = 1000, cm = 900, xc = 90, iv = 4.
class solution
}result += map.get(s.charat(i));
} return result;
}}
第二題:
14. 最長公共字首**:編寫乙個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串
""
。示例 1:
示例 2:輸入: ["flower","flow","flight"]
輸出: "fl"
說明:輸入: ["dog","racecar","car"]
輸出: ""
解釋: 輸入不存在公共字首。
所有輸入只包含小寫字母
a-z
。
class solution
if(len < minlen)
} for(int i = 0; i < minlen; i++)
else break;
}return result;
}public static boolean pair(string strs,int index)
} return true;
}}
第三題:
20. 有效的括號給定乙個只包括
'('
,')'
,''
,'['
,']'
的字串,判斷字串是否有效。有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
示例 2:輸入: "()"
輸出: true
示例 3:輸入: "(){}"
輸出: true
示例 4:輸入: "(]"
輸出: false
示例 5:輸入: "([)]"
輸出: false
輸入: ""
輸出: true
class solution ", "").replace("", "").replace("()","");
if(old == s) return false;
}return true;
}}
是的你沒有看錯,就是這麼雞賊,但是這個方法效率並不高,只能打敗1%的選手。。。
那麼正常的解法:
class solution
else
char temp = stack.pop();
if(cur == ')' && temp != '(') return false;
if(cur == ']' && temp != '[') return false;
if(cur == '}' && temp != '
}if(stack.isempty()) return true;
else return false;
}}
目前本人技術有限,還在刷簡單題~大家有什麼想和我分享的吐槽的可以盡情的來噻! 基本演算法學習day1
反轉陣列 leecode242.有效的字母異位詞 方法 建立26位的int陣列,用來存放對應第幾個字母的個數 遍歷 s讓相應的值 遍歷 t讓相應的值 最後如果陣列中有乙個值不為0則返回false 給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anag...
路徑規劃演算法學習Day1
解決最短路徑問題的演算法有很多,dijkstra演算法是其中最為有效的一種。它是於1959年荷蘭計算機科學家edsger dijkstra提出的 能夠解決 單結點 所有結點 間的最短路徑問題。首先以某一結點 源結點 作為出發點,在與其相連且尚未被加入的結點裡,選擇加入離出發點距離最短的結點,並且通過...
排序演算法Day1
include mysort.h include include include include include include include using namespace std 插入排序 時間複雜度 平均哦o n 2 完全有序時o n 空間複雜度o 1 穩定 思想 把待排序列分為有序序列和無...