【每日一题Day326】LC1222可以攻击国王的皇后 | 哈希表+模拟

简介: 【每日一题Day326】LC1222可以攻击国王的皇后 | 哈希表+模拟

可以攻击国王的皇后【LC1222】

在一个 8x8 的棋盘上,放置着若干「黑皇后」和一个「白国王」。

给定一个由整数坐标组成的数组 queens ,表示黑皇后的位置;以及一对坐标 king ,表示白国王的位置,返回所有可以攻击国王的皇后的坐标(任意顺序)。

  • 思路
  • 将Queen的坐标一维化,记录在哈希表中
  • 从King出发,寻找8个方向中第一个Queen的位置
  • 实现
class Solution {
    public List<List<Integer>> queensAttacktheKing(int[][] queens, int[] king) {
        List<List<Integer>> res = new ArrayList<>();
        int[][] dirs = {{1, 0}, {-1, 0}, {0, -1}, {0, 1}, {1, 1}, {1, -1}, {-1, 1}, {-1, -1}};
        int N = 8;
        Set<Integer> set = new HashSet<>();
        for (int[] q : queens){
            set.add(q[0] * N + q[1]);
        }
        for (int i = 0; i < 8; i++){
            int x = king[0] + dirs[i][0], y = king[1] + dirs[i][1];
            while (x >= 0 && x < N && y >= 0 && y < N){
                if (set.contains(x * N + y)){
                    res.add(Arrays.asList(x, y));
                    break;
                }
                x += dirs[i][0];
                y += dirs[i][1];
            }
        }
        return res;
    }
}

image.png

目录
相关文章
|
弹性计算 云计算
记录下考Apsara Clouder云计算专项技能认证:云服务器ECS入门过程
Apsara Clouder云计算专项技能认证:云服务器ECS入门
37734 4
记录下考Apsara Clouder云计算专项技能认证:云服务器ECS入门过程
|
算法 计算机视觉
OpenCV(二十六):边缘检测(二)
OpenCV(二十六):边缘检测(二)
152 0
|
机器学习/深度学习 算法 TensorFlow
Py之imblearn:imblearn/imbalanced-learn库的简介、安装、使用方法之详细攻略
Py之imblearn:imblearn/imbalanced-learn库的简介、安装、使用方法之详细攻略
Py之imblearn:imblearn/imbalanced-learn库的简介、安装、使用方法之详细攻略
|
7月前
|
数据采集 机器学习/深度学习 人工智能
《深度剖析:AI与姿态估计技术在元宇宙VR交互中的应用困境》
在元宇宙中,虚拟现实(VR)交互依赖于人工智能(AI)与姿态估计技术的融合,以实现沉浸式体验。然而,复杂环境下的精准识别、实时性与计算资源矛盾、数据质量与隐私困境以及语义理解偏差等问题,严重制约了其发展。复杂背景、多人互动和快速动作变化导致姿态识别困难;高精度算法虽提升准确性,但计算复杂度高,影响实时反馈;高质量数据采集与标注难,且涉及隐私风险;AI对用户意图的理解不足,影响交互流畅性。解决这些难题是实现元宇宙VR交互智能化的关键。
130 3
|
9月前
|
存储 机器学习/深度学习 人工智能
轻松实现向量搜索:探索 Elastic-Embedding-Searcher 项目
elastic-embedding-searcher 是一个基于 Elasticsearch 的向量搜索框架,简化了向量数据的存储和检索过程。通过结合 Elasticsearch 的分布式能力与向量表示,项目实现了高效、精准的相似度检索。支持多种流行的嵌入模型(如 BERT、Word2Vec),并能够处理大规模数据集。该项目适用于文本相似度检索、问答系统及多语言处理等场景,开发者可以轻松集成并实现高效的数据检索。
314 2
|
应用服务中间件 nginx Docker
单机编排工具之docker-compose快速入门使用
这篇文章是关于如何使用docker-compose进行单机编排的快速入门指南,包括了镜像准备、docker-compose安装、使用教程以及验证服务生效的步骤。
177 2
单机编排工具之docker-compose快速入门使用
|
11月前
|
监控 安全 搜索推荐
新手指南:Google邮箱注册全过程步骤教学
对于从事外贸、需要与外国客户或朋友沟通的小伙伴来说,拥有一个Google账号(也就是Gmail账号,下文统一用Google邮箱来表述)至关重要!
|
机器学习/深度学习 测试技术 计算机视觉
【计算机视觉 | ViT-G】谷歌大脑提出 ViT-G:缩放视觉 Transformer,高达 90.45% 准确率
谷歌大脑提出 ViT-G:缩放视觉 Transformer,高达 90.45% 准确率
|
Linux C++
linux下串口的阻塞和非阻塞操作
有两个可以进行控制串口阻塞性(同时控制read和write):一个是在打开串口的时候,open函数是否带O_NDELAY;第二个是可以在打开串口之后通过fcntl()函数进行控制。 阻塞的定义:        对于read,block指当串口输入缓冲区没有数据的时候,read函数将会阻塞在这里,移植到串口输入缓冲区中有数据可读取,read读到了需要的字节数之后,返回值为读到的字节数; 对于write,block指当串口输出缓冲区满,或剩下的空间小于将要写入的字节数,则write将阻塞,一直到串口输出缓冲区中剩下的空间大于等于将要写入的字节数,执行写入操作,返回写入的字节数。
1789 0
|
机器学习/深度学习 XML 算法
机器学习模型保存为PMML格式
PMML模型文件可以实现跨平台迁移,python和java都可以生成PMML文件,python和java都可以读取PMML文件
953 0