20201008:力扣209周周赛题解(下)
力扣209周周赛题解(下)
- 题目
- 思路与算法
- 代码实现
- 写在最后
题目
- 可见点的最大数目
- 可见点的最大数目
- 使整数变为 0 的最少操作次数
思路与算法
- 第一题注意添加角度时atan2的范围是正负π,因此注意差值可能超出这个范围,因此将计算出的角度+2π再次存入即可避免这个错误。
- 第二题格雷码逆处理过程,不再赘述,见代码
代码实现
- 可见点的最大数目
class Solution {public int visiblePoints(List<List<Integer>> points, int angle, List<Integer> location) {int pointCnt = points.size();List<Double> angles = new ArrayList<>();int extraAns = 0;for (int i = 0; i < pointCnt; i++) {int deltaY = points.get(i).get(1) - location.get(1);int deltaX = points.get(i).get(0) - location.get(0);if (deltaX == 0 && deltaY == 0){extraAns++;continue;}double curAngle = Math.atan2(deltaY,deltaX);angles.add(curAngle);angles.add(curAngle + 2 * Math.PI);}Collections.sort(angles);int ans = 0;int left = 0;int right = 0;double maxAngle = angle * Math.PI / 180.0;while (true) {if (right == angles.size()) {return ans + extraAns;}if (angles.get(right) - angles.get(left) <= maxAngle) {ans = Math.max(ans, right - left + 1);right++;} else {left++;}}}
}
- 使整数变为 0 的最少操作次数
class Solution {public int minimumOneBitOperations(int n) {int ans = 0;while (n != 0) {ans ^= n;n >>= 1; } return ans;}
}
写在最后
冲!
20201008:力扣209周周赛题解(下)相关推荐
- 20201007:力扣209周周赛题解记录(上)
力扣209周周赛题解记录(上) 题目 思路与算法 代码实现 复杂度分析 题目 特殊数组的特征值 奇偶树 思路与算法 第一题单纯的暴力就行,应该是可以用二分之类的改善复杂度,没必要赘述,直接上暴力遍历, ...
- (补)20200911:力扣204周周赛题解下
力扣204周周赛题解下 题目 思路与算法 代码实现 写在最后 题目 3.1568. 使陆地分离的最少天数 思路与算法 本周周赛第三题勉强可以看看,第四题超出我目前的水平,跳过.第三题是一个典型的dfs ...
- 20200815:力扣201周周赛题解记录下
力扣201周周赛题解记录下 题目 思路与算法 代码实现 题目 和为目标值的最大数目不重叠非空子数组数目 1547. 切棍子的最小成本 在这里插入图片描述 思路与算法 第3题还是一个简单的模拟,用set ...
- 20200729:力扣199周周赛题解(下)
力扣199周周赛题解(下) 题目三:好叶子节点对的数量 给你二叉树的根节点 root 和一个整数 distance . 如果二叉树中两个叶节点之间的 最短路径长度 小于或者等于 distance ,那 ...
- 20200819:力扣202周周赛题解记录
力扣202周周赛题解记录 题目一:[存在连续三个奇数的数组](https://leetcode-cn.com/problems/three-consecutive-odds/) 代码实现 题目二:[使 ...
- 20201219:力扣219周周赛题解
力扣219周周赛题解 题目 思路与算法 代码实现 复杂度分析 题目 比赛中的配对次数 十-二进制数的最少数目 石子游戏 VII 堆叠长方体的最大高度 思路与算法 比赛中的配对次数 两两比赛,淘汰剩一支 ...
- 20200910:力扣204周周赛题解上(Java/Python/Cpp)
力扣204周周赛题解上 题目 思路与算法 代码实现 写在最后 题目 1.1566. 重复至少 K 次且长度为 M 的模式 2.1567. 乘积为正数的最长子数组长度 思路与算法 热身题不要求算法技巧, ...
- 20200907:力扣203周周赛题解记录
力扣203周周赛题解 题目一: 1.圆形赛道上经过次数最多的扇区 示例 解题思路与代码实现 本题的思路为优化整个起点与终点,理清关系,起点到终点的过程中,分为起点小于终点,起点大于终点,起点等于终点, ...
- 20200814:力扣201周周赛题解记录上
力扣201周周赛题解记录上 题目 思路与算法 代码实现 写在最后 题目 整理字符串 找出第 N 个二进制字符串中的第 K 位 思路与算法 第一题这种类似消消乐的东西都是直接用栈来实现的,注意代码细节 ...
最新文章
- java纯粹面向对象_Java的面向对象特征
- ITK:计算网格的平面参数化
- 2018最新手机号正则
- python编写下载器可暂停_Python编写一个优美的下载器
- Go语言基础之结构体
- 请推荐好的工作流产品
- [JSOI2012]玄武密码 题解(AC自动机)
- 专利申请模板,包含实用新型专利和发明专利模板
- Office 与 Visio安装冲突
- 非中文正则表达式 php,php判断是不是为中文正则表达式大全(转)
- 京东返利PHP采集关键字,php-爬虫练习:抓取京东商品列表与详情-2019年10月18日...
- TFT LCD液晶屏显示原理
- jbod ugood 磁盘驱动状态_JBOD磁盘配置和StorCLI命令使用小结
- php最大的论坛,phpwind论坛史上最大漏洞 -电脑资料
- css样式border-radius学习-画出水滴
- 修改计算机中文用户名,Win10电脑将中文登录用户名更改为英文名的方法
- win10同步服务器文件夹在哪,win10系统一键同步win 10文件夹视图的操作方法
- 逃离美国,跨越8000公里远程办公,他开发了世界上最强的虚拟机
- IEEE754的理解归纳
- 【Java基础】之 JSR 介绍