leetcode每日一题(20241203)

leetcode每日一题(20241203)

3274.检查棋盘方格颜色是否相同 题目描述:

bash 复制代码
给你两个字符串 coordinate1 和 coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。
以下是棋盘的参考图。

今天是简单题,行 为偶数时候 列为奇数 是黑色的 反之为白色 ;行 为奇数时候 列为偶数 是黑色 反之为白色(行从1开始,列从0开始的)

java 复制代码
class Solution {
    public boolean checkTwoChessboards(String coordinate1, String coordinate2) {
        return getColor(coordinate1)==getColor(coordinate2);
    }
    public int getColor(String coordinate){
        int col=coordinate.charAt(0)-'a';
        int row=coordinate.charAt(1)-'0';
        if(row%2==0){
            return col%2==0?0:1;
        }else{
            return col%2==0?1:0;
        }
    }
}

今天还写了一道之前的:

3101 交替子数组计数 题目描述:

bash 复制代码
给你一个二进制数组nums 。
如果一个子数组
中 不存在 两个 相邻 元素的值 相同 的情况,我们称这样的子数组为 交替子数组 。
返回数组 nums 中交替子数组的数量。

第一次看题目写的:

java 复制代码
class Solution {
    public long countAlternatingSubarrays(int[] nums) {
        int len=nums.length;
        int count=1;
        long res=0L;
        for(int i=1;i<len;i++){
            if(nums[i]==nums[i-1]){
                res+=getSum(count);
                count=1;
            }else{
                count++;
            }
        }
        res+=getSum(count);
        return res;
    }
    public long getSum(int n){
        return (long)(n+1)*n/2;
    }
}

看了一下解题发现不用专门去计算直接累加就行了:

java 复制代码
class Solution {
    public long countAlternatingSubarrays(int[] nums) {
        int len=nums.length;
        int count=1;
        long res=1L;
        for(int i=1;i<len;i++){
            if(nums[i]==nums[i-1]){
                count=1;
            }else{
                count++;
            }
            res+=count;
        }
        return res;
    }
}

加油!!!今天就到这了,有一块刷题可以一块啊,一起可以互相监督。

相关推荐
愤怒的代码10 分钟前
在 Android 中执行 View.invalidate() 方法后经历了什么
android·java·kotlin
memgLIFE15 分钟前
SQL 优化方法详解(1)
java·数据库·sql
2201_7578308717 分钟前
Bean原理篇
java·开发语言
闲看云起19 分钟前
LeetCode-day5:三数之和
算法·leetcode·职场和发展
小宇的天下22 分钟前
Calibre 3Dstack--每日一个命令day 6 [process和export layout](3-6)
java·前端·数据库
Xの哲學34 分钟前
Linux 文件系统一致性: 从崩溃恢复到 Journaling 机制
linux·服务器·算法·架构·边缘计算
牛奔34 分钟前
docker compose up 命令,默认配置文件自动查找规则
java·spring cloud·docker·容器·eureka
工具罗某人34 分钟前
docker快速部署jenkins
java·docker·jenkins
wtmReiner36 分钟前
山东大学数值计算2026.1大三上期末考试回忆版
笔记·算法
黛色正浓38 分钟前
leetCode-热题100-滑动窗口合集(JavaScript)
javascript·算法·leetcode