美文网首页
4 ARTS打卡第四周(2019-08-25)

4 ARTS打卡第四周(2019-08-25)

作者: 无敌的潘大帅 | 来源:发表于2019-08-25 17:54 被阅读0次

Algorithm

本周题目:66.加一
题解思路:本道题目总共分为两种常规情况,和一种临界情况。
1.常规情况一:数组末位值加一,不发生进位,直接将末位值加一,返回数组即可。这是最简单的情况
2.常规情况二:数组末位值加一,发生进位,从本道题目来讲,发生进位的情况只有当前数组为9,当发生进位后,本位上的数值必定为0,进位后需要继续遍历该数组,移动当前索引减一,继续执行以上操作,如若继续发生进位,则继续如上操作,反之结束遍历,返回数组结果。
3.临界情况:此为常规情况二的临界情况,当数组元素全为9时,必定发生数组长度扩大一位,如果最后一次遍历时,发生进位情况,则出发此临界情况处理代码:数组长度扩大一位,首位填入1,其余用0填充,返回该构造数组。
题解代码:

class Solution {
    public int[] plusOne(int[] digits) {
        int begin = digits[digits.length - 1] + 1;
        if (begin > 9) {
            for (int i = digits.length - 1; i >= 0; i--) {
                int flag = digits[i] + 1;
                if (flag > 9) {

                    digits[i] = 0;
                    if (i == 0) {
                        int[] result = new int[digits.length + 1];
                        result[0] = 1;
                        for (int j = 1; j < digits.length; j++) {
                            result[j] = 0;
                        }

                        return result;
                    }
                } else {
                    digits[i] = digits[i] + 1;
                    break;
                }
            }
        } else {
            digits[digits.length - 1] = digits[digits.length - 1] + 1;
        }
        return digits;
    }
}

Review

lambda表达式基础入门
这是一篇关于Lambda的基础用法的简介,Lambda表达式是Java8的重大变化之一,它的到来让Java进入了函数式编程的领域,使用更简洁的代码,完成更多的功能,同时也增加代码的灵活性,让程序员从冗余的代码块中解放出来。在我查找Lambda表达式的文章的时候,我发现了一篇关于讲述Lambda表达式让代码变慢的说法,我个人不赞同这种说法,首先Lambda是Java之后发展的方向选择,及时在一些特殊的情况下,的确会变慢一些些,但是这也需要业务场景的加持,在可接受的范围内就是OK的。之后,学到了较为底层的时候,我就会去研究对应的场景,看是否变慢。

Tip

Spring 的 AOP机制,是基于Java的代理机制,Spring用了更为强大的框架CGLIB。

Share

lambda表达式基础入门
这是一篇介绍关于Lambda的基础用法

相关文章

  • 4 ARTS打卡第四周(2019-08-25)

    Algorithm 本周题目:66.加一题解思路:本道题目总共分为两种常规情况,和一种临界情况。1.常规情况一:数...

  • ARTS打卡 第4周

    打卡日期 2019-08-05 至 2019-08-11Algorithm:58. 最后一个单词的长度https:...

  • ARTS打卡第四周

    ARTS打卡第四周 Algorithm:每周至少做一个 leetcode 的算法题 717. 1比特与2比特字符 ...

  • 风云的ARTS打卡(第四周)

    第4周 Algorithm: N皇后问题 n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间...

  • ARTS 第4周

    ARTS 第4周分享 [TOC] Algorithm 1021. Remove Outermost Parenth...

  • ARTS 第4周

    1. Algorithm 题目: 94. Binary Tree Inorder Traversal Given ...

  • ARTS第四周

    Algorithm 题一:leetCode 812 Largest Triangle AreaYou have a...

  • ARTS第四周

    Algorithm。主要是为了编程训练和学习。每周至少做一个 leetcode 的算法题(先从Easy开始,然后再...

  • 周检视0430-0506:28天目标践行第四周总结

    周检视:28天目标践行第四周总结 打卡第四周: 28天的三大目标 1、帮助孩子建构知识网络 2、输入:4本书4部电...

  • ARTS打卡,第二周

    每周完成一个ARTS:1.A(Algorithm)每周至少做一个 leetcode 的算法题2.R(Review)...

网友评论

      本文标题:4 ARTS打卡第四周(2019-08-25)

      本文链接:https://www.haomeiwen.com/subject/nkzhectx.html