ARTS-002

Algorithm


还是先做easy的找找感觉

  1. N-ary Tree Level Order Traversal
    遍历N叉树并按层级输出。
    这题比较简单,可以用队列。
/*
// Definition for a Node.
class Node {
    public int val;
    public List<Node> children;

    public Node() {}

    public Node(int _val,List<Node> _children) {
        val = _val;
        children = _children;
    }
};
*/
class Solution {
    public List<List<Integer>> levelOrder(Node root) {
        List<List<Integer>> res = new ArrayList<List<Integer>>();
        if (root == null) {
            return res;
        }
        Queue<Node> queue = new LinkedList<Node>();
        queue.offer(root);
        queue.offer(null);
        List<Integer> list = new ArrayList<Integer>();
        while (queue.size() > 0) {
            Node node = queue.poll();
            if (node == null) {
                res.add(list);
                if (queue.size() > 0) {
                    list = new ArrayList<Integer>();
                    queue.offer(null);
                }
            }
            if (node != null) {
                list.add(node.val);
                if (node.children != null && node.children.size() > 0) {
                    queue.addAll(node.children);
                }
            }
        }
        return res;
    }
}

Review


https://www.javaworld.com/article/3268983/java-challengers-1-method-overloading-in-the-jvm.html
小结:
在JVM处理重载时,有三个重要的编译技术:Widening; Boxing; Varargs

Widening

示例:

int primitiveIntNumber = 5;
double primitiveDoubleNumber = primitiveIntNumber ;

较低等级的类型会自动扩展为较高等级的类型


基础类型扩展

Boxing

基础类型可以box为包装类型;包装类型也可以unbox为基础类型

int primitiveIntNumber = 7;
Integer wrapperIntegerNumber = primitiveIntNumber;

Integer wrapperIntegerNumber = Integer.valueOf(primitiveIntNumber);

Varargs

利用...来表示多个传入参数,在无法获知具体传入参数个数时可以使用

注意

  1. int基础类型无法autobox为Double而只能autobox为double
  2. Integer Long Float Double这些无法相互扩展
  3. 硬编码时,JVM会自动将1编译为int,将1.0编译为double。可以用1F来表示float,1D来表示double,增加可读性
  4. Double类型更容易被包装为Object,而不是被unbox为double
  5. JVM执行顺序:Widening----->Boxing----->Varargs

Tip


  1. 如何在idea中搜寻文件---双击shift
  2. 挑选出表table中userId计数大于1的所有内容
    Select * From table Where userId In (Select userId From table Group By userId Having Count(*)>1)

Share


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Algorithm 题目: 102. Binary Tree Level Order Traversal G...
    RealityGamer阅读 1,450评论 0 0
  • 94. Binary Tree Inorder Traversal 中序 inorder:左节点->根节点->右节...
    Morphiaaa阅读 3,868评论 0 0
  • 现在想来,打一开始何怡年就没有打算把两个孩子告诉她。那么,当初她开口让她送孩子时,是否已经断定她会收养她的女儿? ...
    邢瑶阅读 1,742评论 0 1
  • 冬晨不冷清, 腊月梅绽红。 辞旧迎新到, 又踏新征程。
    没有太晚的开始阅读 1,562评论 0 9
  • 今天是星期六,老师布置了周末的作为,尹晨曦早晨起床后说妈妈,老师让预习第一课,20以内的加减法。吃好饭就开始写起作...
    尹晨曦妈妈阅读 1,657评论 0 3

友情链接更多精彩内容