Java算法 leetcode简单刷题记录4

Java算法 leetcode简单刷题记录4

  1. 买卖股票的最佳时机: https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/
    笨办法: 记录当天的值及之后的最大值,相减得到利润;
    所有的天都计算下,比较得到利润最大值;
    会超时

    记录过程中遇到的最低值,每当有利润大于0及大于上一个利润值的情况,赋值;

  2. 最小和分割: https://leetcode.cn/problems/split-with-minimum-sum/
    将一个多位数拆分成俩个数求相加的最小值;
    因为拆分后的数可以包含前置0,则拆分后排序,按俩个数平均给每一位就行;
    num1 = num1*10+digits[i];
    或者StringBuilder.append(每一位);

  3. 找出数组的串联值: https://leetcode.cn/problems/find-the-array-concatenation-value/
    按规则计算,int可能越界,用long

  4. 只出现一次的数字: https://leetcode.cn/problems/single-number/
    任何数和本身异或得到0;任何数与0异或得到其本身;
    要求时间和空间都是线性,只能利用异或;

  5. 倍数求和: https://leetcode.cn/problems/sum-multiples/
    比较简单,直接写就行

  6. 根据规则将箱子分类
    : https://leetcode.cn/problems/categorize-box-according-to-criteria
    int大数相乘可能越界,需要要long
    如 相当于改成了long的值相乘: 1L * length * width * height

你可能感兴趣的:(JAVA,算法,算法,java,leetcode)