一、括号合法题
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都很明显!
每天⽤⼼记录⼀点点。内容也许不重要,但习惯很重要!
一个程序员最重要的能力是:写出高质量的代码!!
有道无术,术尚可求也,有术无道,止于术。
无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃!