Leetcode每日随机2021/5/1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

leetcode714
贪心没做出来,题解里虽然给出了贪心的解法,但是不好理解,不如它给的dp的做法简洁。
dp的办法很好,我很喜欢。
leetcode180
这题目根本就不对,谁说Id一定连续?答案居然是默认Id连续,真的无语。
leetcode1688
模拟题,照着题意走一遍。

代码

leetcode714

class Solution {
    public int maxProfit(int[] prices, int fee) {
		int[][] dp = new int[prices.length][2];
		dp[0][0] = 0;
		dp[0][1] = -prices[0];
		for (int i = 1; i < prices.length; i++) {
			dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] + prices[i] - fee);
			dp[i][1] = Math.max(dp[i - 1][1], dp[i - 1][0] - prices[i]);
		}
		return dp[prices.length - 1][0];
	}
}

leetcode180

select 
    distinct log1.num ConsecutiveNums
from
    Logs log1
join Logs log2 on log1.Id = log2.Id - 1
join Logs log3 on log1.Id = log3.Id - 2
where
    log1.num = log3.num
and
    log1.num = log2.num;

leetcode1688

class Solution {
    public int numberOfMatches(int n) {
		int matchCount = 0;
		while (n > 1) {
			if (n % 2 == 0) {
				matchCount += n >> 1;
				n = n >> 1;
			} else {
				matchCount += (n - 1) >> 1;
				n = ((n - 1) >> 1) + 1;
			}
		}
		return matchCount;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值