代码随想录Day37

Day 37 贪心算法 Part06

今日任务

  • 738.单调递增的数字
  • 968.监控二叉树

代码实现

738.单调递增的数字
做了这么多贪心的题,这是唯一一道自己写出来的,就是思路虽然一开始就对了,感觉没那么难,但是代码还是比较复杂,用的时间也有点长

 public int monotoneIncreasingDigits(int n) {
        LinkedList<Integer> list = new LinkedList<>();
        while (n > 0) {
            list.add(n%10);
            n = n / 10;
        }
        for (int i = 0; i < list.size() - 1; i++) {
            if (list.get(i + 1) > list.get(i)) {
                list.set(i + 1, Math.max(list.get(i + 1) - 1, 0));
                list.set(i, 9);
            }
        }
        for (int i = list.size() - 1; i >= 0; i--) {
            if (list.get(i) == 9) {
                while (i >= 0) {
                    list.set(i, 9);
                    i--;
                }
                break;
            }
        }

        int result = 0;
        for (int i = 0; i < list.size(); i++) {
            int x = list.get(i);
            for (int j = 0; j < i; j++) {
                x = x * 10;
            }
            result+=x;
        }
        return result;
    }

968.监控二叉树
直接看题解就完事了,一点思路没有

int result = 0;

    public int minCameraCover(TreeNode root) {
        int traversal = traversal(root);
        if (traversal == 0) return result + 1;
        return result;
    }

    /**
     * 递归
     * 定义有覆盖为2,无覆盖为0,有监控为1
     * @param current
     * @return
     */
    int traversal(TreeNode current) {
        if (current == null) return 2;
        int left = traversal(current.left);
        int right = traversal(current.right);
        if (left == 2 && right == 2) {
            return 0;
        }
        if (left == 0 || right == 0) {
            result++;
            return 1;
        }
        if (left == 1 || right == 1) {
            return 2;
        }
        return -1;
    }

今日总结

  1. 两天没有写总结,用昨天和今天两天补上了周二漏的,感觉确实没什么套路,除了几道区间的题比较相似以外,要么是一眼能看出来,要么是不可能看出来
  2. 大模型的东西今天也学了一点,但是不多,在Mac上下载了ChatGLM3-6b(大概叫这个吧),非常慢,向量库Milvus也没装好
  3. 今天早上我认为是反转,但是到了下午感觉又像反弹,人工智能不知道还能不能持续,汽车也不知道咋回事,懵懵比比。另外,今天小米汽车发布,但是也没找到合适的股票想买的,明天看情况吧。

相关推荐

  1. 代码随想Day37

    2024-03-29 23:12:02       20 阅读
  2. 代码随想 day37|day38|day39

    2024-03-29 23:12:02       8 阅读
  3. 代码随想Day31

    2024-03-29 23:12:02       19 阅读
  4. 代码随想day32

    2024-03-29 23:12:02       14 阅读
  5. 代码随想学习Day 37

    2024-03-29 23:12:02       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 23:12:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 23:12:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 23:12:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 23:12:02       18 阅读

热门阅读

  1. AIST++ 笔记

    2024-03-29 23:12:02       18 阅读
  2. 老程序员不讲武德

    2024-03-29 23:12:02       17 阅读
  3. linux快速入门

    2024-03-29 23:12:02       16 阅读
  4. Vue 3:前端开发的新时代

    2024-03-29 23:12:02       16 阅读
  5. ntp服务器搭建

    2024-03-29 23:12:02       16 阅读
  6. 将一个nextjs项目部署到vercel

    2024-03-29 23:12:02       20 阅读
  7. Android-AR眼镜屏幕显示

    2024-03-29 23:12:02       21 阅读
  8. [c++]类和对象常见题目详解

    2024-03-29 23:12:02       21 阅读
  9. MySQL新建用户并授权、删除用户、修改用户名

    2024-03-29 23:12:02       16 阅读
  10. 大数据导论-大数据可视化——沐雨先生

    2024-03-29 23:12:02       19 阅读