一、括號合法題
2116. 判斷一個括號字符串是否有效
//采用從左往右和從右往左遍歷的貪心算法,分別保證前綴合法,后綴合法。public boolean canBeValid(String s, String locked) {int n=s.length();if (n%2==1) return false;int num=0;// 從左到右掃描,假設所有未鎖定位置都能變為 '('for (int i = 0; i < n; i++) {if (locked.charAt(i)=='0'||s.charAt(i)=='('){num++;}else {num--;}if (num<0){return false;}}num=0;// 從右到左掃描,假設所有未鎖定位置都能變為 ')'for (int i = n-1; i >=0 ; i--) {if (locked.charAt(i)=='0'||s.charAt(i)==')'){num++;}else {num--;}if (num<0){return false;}}return true;}
20. 有效的括號 - 力扣(LeetCode)
public static boolean isValid(String s) {int n=s.length();if (n%2==1) return false;Map<String,String> map=new HashMap<>();map.put("(",")");map.put("{","}");map.put("[","]");LinkedList<String> list=new LinkedList<>();for (int i = 0; i < n; i++) {if ("(".equals(s.charAt(i)+"")||"{".equals(s.charAt(i)+"")||"[".equals(s.charAt(i)+"")){list.add(s.charAt(i)+"");}else{String poll = list.pollLast();if (poll==null||!map.get(poll).equals(s.charAt(i)+"")){return false;}}}if (list.size()!=0){return false;}return true;}
Java如何判斷質數
再小的努力,乘以365都很明顯!
每天??記錄?點點。內容也許不重要,但習慣很重要!
一個程序員最重要的能力是:寫出高質量的代碼!!
有道無術,術尚可求也,有術無道,止于術。
無論你是年輕還是年長,所有程序員都需要記住:時刻努力學習新技術,否則就會被時代拋棄!