摆出无比亲密的态度,装模作样地与对方套近乎,频繁地联系对方。这都说明他们并不相信自己得到了对方的信赖,若是互相信赖,便不会依赖亲密的感觉。在外人看来,反而显得冷淡。 ——尼采《人性的,太人性的》
Stack res = new Stack<>();
Queue q = new LinkedList<>();
class Solution {
public int[] advantageCount(int[] nums1, int[] nums2) {
// 排序之后的规则就是,遇弱则强,遇强送人头
int len = nums1.length;
int[] res = new int[len];
// 默认为升序
Arrays.sort(nums1);
// 降序
PriorityQueue<int[]> maxpq = new PriorityQueue<>(
(int[] pair1,int[] pair2)->{
return pair2[1]-pair1[1];
}
);
for(int i=0;i<len;i++){
maxpq.offer(new int[]{i,nums2[i]});
}
int left = 0;
int right = len-1;
for(int i=0;i<len;i++){
int[] pair = maxpq.poll();
int m = pair[0],maxval = pair[1];
if(nums1[right]>maxval){
res[m] = nums1[right];
right--;
}else{
res[m] = nums1[left];
left++;
}
}
return res;
}
}
class Solution {
public String removeDuplicateLetters(String s) {
Stack<Character> res = new Stack<>();
for(int i=0;i<s.length();i++){
char c = s.charAt(i);
if(res.contains(c)){
continue;
}
while(!res.isEmpty() && s.indexOf(res.peek(),i) != -1 && res.peek() > c){
res.pop();
}
res.push(c);
}
char[] temp = new char[res.size()];
for(int i = res.size()-1;i>=0;i--){
temp[i] = res.pop();
}
return new String(temp);
}
}