Day58 | 179. 最大数、316. 去除重复字母、334. 递增的三元子序列
179. 最大数
题目链接:179. 最大数 - 力扣(LeetCode)
题目难度:中等
代码:
class Solution {public String largestNumber(int[] nums) {String[] strs=new String[nums.length];for(int i=0;i<nums.length;i++)strs[i]=String.valueOf(nums[i]);Arrays.sort(strs,(x,y)->(y+x).compareTo(x+y));if(strs[0].equals("0")) return "0";StringBuilder res=new StringBuilder();for(String s:strs)res.append(s);return res.toString();}
}
316. 去除重复字母
题目链接:316. 去除重复字母 - 力扣(LeetCode)
题目难度:中等
代码:
class Solution {public String removeDuplicateLetters(String s) {boolean[] vis=new boolean[26];int num[]=new int[26];for(int i=0;i<s.length();i++)num[s.charAt(i)-'a']++;StringBuffer sb=new StringBuffer();for(int i=0;i<s.length();i++){char ch=s.charAt(i);if(!vis[ch-'a']){while(sb.length()>0&&sb.charAt(sb.length()-1)>ch){if(num[sb.charAt(sb.length()-1)-'a']>0){vis[sb.charAt(sb.length()-1)-'a']=false;sb.deleteCharAt(sb.length()-1);}else{break;}}vis[ch-'a']=true;sb.append(ch);}num[ch-'a']-=1;}return sb.toString();}
}
334. 递增的三元子序列
题目链接:334. 递增的三元子序列 - 力扣(LeetCode)
题目难度:中等
代码:
class Solution {public boolean increasingTriplet(int[] nums) {int n=nums.length;if(n<3) return false;int first=nums[0],second=Integer.MAX_VALUE;for(int i=1;i<n;i++){int num=nums[i];if(num>second)return true;else if(num>first)second=num;elsefirst=num;}return false;}
}