当前位置: 首页 > news >正文

ARTS Week 20

Algorithm

本周的算法题为 1222. 可以攻击国王的皇后

在一个 下标从 0 开始8 x 8 棋盘上,可能有多个黑皇后和一个白国王。

给你一个二维整数数组 queens,其中 queens[i] = [xQueeni, yQueeni] 表示第 i 个黑皇后在棋盘上的位置。还给你一个长度为 2 的整数数组 king,其中 king = [xKing, yKing] 表示白国王的位置。

返回 能够直接攻击国王的黑皇后的坐标。你可以以 任何顺序 返回答案。

示例 1:

alt
输入:queens = [[0,1],[1,0],[4,0],[0,4],[3,3],[2,4]], king = [0,0]
输出:[[0,1],[1,0],[3,3]]
解释:上面的图示显示了三个可以直接攻击国王的皇后和三个不能攻击国王的皇后(用红色虚线标记)。

实现代码如下:

var queensAttacktheKing = function(queens, king{
    // 初始化棋盘
    const board = Array.from({ length8 }, () => Array.from({ length8 }, () => null));
    // 将皇后的位置标记在棋盘上
    queens.forEach((queen) => {
        board[queen[0]][queen[1]] = 'Q';
    });
    const res = [];
    // 顺时针方向遍历棋盘
    const directions = [
        [-10],
        [-11],
        [01],
        [11],
        [10],
        [1-1],
        [0-1],
        [-1-1]
    ];
    for (const element of directions) {
        const [dx, dy] = element;
        let x = king[0] + dx;
        let y = king[1] + dy;
        while (x >= 0 && x < 8 && y >= 0 && y < 8) {
            if (board[x][y] === 'Q') {
                res.push([x, y]);
                break;
            }
            x += dx;
            y += dy;
        }
    }
    return res;
};

解题思路:

  1. 首先初始化一个 8*8的棋盘,将皇后的位置标记在棋盘上;
  2. 以国王为坐标系原点,顺时针遍历国王周围的 8个方向,每次沿着一个方向遍历到边界,如果遇到皇后,将其坐标加入结果数组;
  3. 返回结果数组。

Review

Hollywood actor says OpenAI Sora could cause job losses

好莱坞制片人兼演员泰勒·佩里担心人工智能将导致电影行业的就业岗位减少。他举了一个个人的例子来说明这种情况正在发生。他说他计划进行8亿美元的电影工作室扩建项目,但已经推迟了这个项目的实施,等待看看人工智能的发展情况。他认为人工智能将对就业产生巨大的影响。他在接受《好莱坞报道》网站采访时表达了他的担忧。他说:“必须有一些规定来保护我们(免受人工智能的影响)。如果没有,我就看不出我们如何生存下去。”他说OpenAI的新文字转视频工具Sora让他推迟了工作室的计划,他说他的项目“因为Sora和我看到的东西而搁置了”。

Sora是一个新的工具,可以生成长达一分钟的视频。用户只需输入提示,软件就会创建一个视频。它还可以根据一张照片创建视频。Sora的名称来自日语单词“天空”,纽约时报说这是为了展示工具的“无限创意潜力”。泰勒·佩里表示,他理解人工智能在电影制作中的有用性,但他担心会导致就业岗位减少。他说:“这让我非常担心行业中的所有人。我立刻开始考虑到受到影响的行业中的所有人,包括演员和编辑。”他补充道:“我认为这将触及我们行业的每个角落。”

注:我只想到《浪客剑心》里那句台词:“创造时代的并不是刀,而是使用刀的人。”

Tip

git clone fatal:发送请求时出错...

在使用git clone项目时,提示以下信息,然后一直需要提示输入用户名和密码。

fatal: 发送请求时出错。
fatal: 服务器提交了协议冲突. Section=ResponseStatusLine

从上面可知,应该是git配置上面出现了问题,所以就打算将git配置初始化,通过以下命令查看git配置文件所在位置,并将所有.gitconfig文件全都删除。

git config --list --show-origin

重新打开Git Bash Here,使用以下命令,然后配置Git在本地存储凭据信息,以便自动记住用户名和密码,避免每次进行Git操作时都需要输入凭据信息。

git config --global credential.helper store

然后只要输入一次用户名和密码,后续操作就都不需要输入了。

Share

研发效能度量实践者指南(万字长文)-腾讯云开发者社区-腾讯云 (tencent.com)

  1. “我虽然没有功劳,但是我也有苦劳。” 大部分人可能只关注自己的付出,但并不关心付出所获得的实际效果。作为管理者应该为“苦劳鼓掌,为功劳付钱”。而功劳和苦劳的体现也需要借助客观的度量数据来体现,否则团队中的成员会逐渐陷入碌碌无为的窘境。
  2. 管理者往往会把目标拆解为可度量的指标。但是,目标和指标常常并不是简单的全局与局部的关系。目标的拆解过程看起来很顺畅,是那么地理所当然,但是当把拆解完的指标合并起来的的时候,结果往往让人哭笑不得。有一个笑话说的是,“你问人工智能,我要找一个女朋友,像安·海瑟薇一样的大眼睛,像朱莉娅·罗伯茨一样的大嘴,喜爱运动,陆上运动、水上运动都会。人工智能就根据这几个指标给出了母青蛙的答案”。所以,指标和目标常常并不是充分必要的关系。
  3. 指标是为了实现目标的,但是在实践过程中,指标很多时候却是与目标为敌的。管理者常常把目标拆解为指标,时间久了以后,他就只知道指标,而忘了背后更重要的目标。如果目标是林,那么指标就是木,时间久了就是只见树木,不见森林。这个时候忘记了目标是什么的管理者就会变得非常短视。那些不懂数据的人很糟糕,而最最糟糕的人是那些只看数字的人。在福特汽车的发展史上,有一段至暗时期。那些实践经验丰富,但是没有上过商学院的的老一辈管理层被干掉,取而代之的名校管理背景的数据分析师,公司试图通过精细化的数字管理来实现业务的增长。由于这些数据分析师并不熟悉业务,所以就只能看度量数据,越是不懂业务就越依赖度量数据来做决策,最后使整个公司陷入了泥潭。软件研发也有类似的尴尬,为了更好的代码质量,所以就制定了严格的代码测试覆盖率要求。时间一久,大家都机械性地追求这个指标,而忘记了当时设立这个指标的初衷,于是就出现了高覆盖率的大量单元测试中没有断言这样尴尬的局面。

本文由 mdnice 多平台发布

相关文章:

  • BJFU|大数据基础考前速记(含考试大纲与复习笔记)
  • Pygame教程07:键盘常量+键盘事件的2种捕捉方式
  • SQL: 触发器/存储过程/游标的操作
  • System类 --java学习笔记
  • 拍立淘API:助力电商企业快速定位目标客户
  • websocket 使用示例
  • 实现QT中qDebug()的日志重定向
  • GPT-prompt大全
  • 【DevOps基础篇】容器化架构基础设施监控方案
  • 20240312-2-贪心算法
  • 基于Qt 和python 的自动升级功能
  • Docker:部署微服务集群
  • 在没有推出硬盘的情况下,重启mac电脑,外接移动硬盘无法加载显示?
  • 国内哪个工具可以平替chatgpt?国内有哪些比较好用的大模型gpt?
  • ‘UnityEngine.Application‘ does not contain a definition for isBatchMode
  • Angular2开发踩坑系列-生产环境编译
  • C学习-枚举(九)
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux各目录及每个目录的详细介绍
  • ng6--错误信息小结(持续更新)
  • Octave 入门
  • Terraform入门 - 1. 安装Terraform
  • vuex 学习笔记 01
  • 创建一个Struts2项目maven 方式
  • 第2章 网络文档
  • 对象引论
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 力扣(LeetCode)965
  • 利用jquery编写加法运算验证码
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • ​批处理文件中的errorlevel用法
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • (10)STL算法之搜索(二) 二分查找
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (pojstep1.3.1)1017(构造法模拟)
  • (Python第六天)文件处理
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • 、写入Shellcode到注册表上线
  • .Mobi域名介绍
  • .Net IOC框架入门之一 Unity
  • .NET 中的轻量级线程安全
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET连接MongoDB数据库实例教程
  • @GlobalLock注解作用与原理解析
  • @ModelAttribute注解使用
  • @TableLogic注解说明,以及对增删改查的影响
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [C++]:for循环for(int num : nums)
  • [CareerCup] 17.8 Contiguous Sequence with Largest Sum 连续子序列之和最大