排序
-
高效交换两个整数
num1 = num1 ^ num2; num2 = num1 ^ num2; num1 = num1 ^ num2;
数据结构
-
哈夫曼树构建
public Node generateTree() { PriorityQueue<Node> queue = new PriorityQueue<>(Comparator.comparing(Node::getVal)); for (int i = 0; i < 100; i++) { Node node = new Node(); node.val = (int) (Math.random() * 101); queue.add(node); } while (queue.size() != 1) { Node left = queue.poll(); Node right = queue.poll(); Node merge = new Node(); merge.val = left.val + right.val; merge.leftChild = left; merge.rightChild = right; queue.add(merge); } return queue.peek(); } public class Node { public Integer val; public Node leftChild; public Node rightChild; public Integer getVal() { return val; } }