Discuss / Java / 5.28 优先队列 作业

5.28 优先队列 作业

Topic source

ANGERIED

#1 Created at ... [Delete] [Delete and Lock User]
//我自己写的
public int compare(User u1, User u2) {
    if (u1.number.charAt(0) == u2.number.charAt(0)) {
    if (u1.number.length() > u2.number.length()) {
        return 1;
    } else if (u1.number.length() < u2.number.length()) {
        return -1;
    }
    return u1.number.compareTo(u2.number);
}
  if (u1.number.charAt(0) == 'V') {
    // u1的号码是V开头,优先级高:    return -1;
  } else {
    return 1;
  }
}

// 看了评论区,可以精简一下。刚开始写的时候也在想怎么在大的时候返回1,小的时候返回-1,无奈没有想出来

if (u1.number.length() == u2.number.length()) {
    return u1.number.compareTo(u2.number);
}
return u1.number.length() - u2.number.length();


榆木出走

#2 Created at ... [Delete] [Delete and Lock User]

调换u1和u2的位置就可以实现了


  • 1

Reply