力扣209周周赛题解(下)

  • 题目
  • 思路与算法
  • 代码实现
  • 写在最后

题目

    1. 可见点的最大数目
    1. 使整数变为 0 的最少操作次数

思路与算法

  1. 第一题注意添加角度时atan2的范围是正负π,因此注意差值可能超出这个范围,因此将计算出的角度+2π再次存入即可避免这个错误。
  2. 第二题格雷码逆处理过程,不再赘述,见代码

代码实现

  1. 可见点的最大数目
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++;}}}
}
  1. 使整数变为 0 的最少操作次数
class Solution {public int minimumOneBitOperations(int n) {int ans = 0;while (n != 0) {ans ^= n;n >>= 1;     } return ans;}
}

写在最后

冲!

20201008:力扣209周周赛题解(下)相关推荐

  1. 20201007:力扣209周周赛题解记录(上)

    力扣209周周赛题解记录(上) 题目 思路与算法 代码实现 复杂度分析 题目 特殊数组的特征值 奇偶树 思路与算法 第一题单纯的暴力就行,应该是可以用二分之类的改善复杂度,没必要赘述,直接上暴力遍历, ...

  2. (补)20200911:力扣204周周赛题解下

    力扣204周周赛题解下 题目 思路与算法 代码实现 写在最后 题目 3.1568. 使陆地分离的最少天数 思路与算法 本周周赛第三题勉强可以看看,第四题超出我目前的水平,跳过.第三题是一个典型的dfs ...

  3. 20200815:力扣201周周赛题解记录下

    力扣201周周赛题解记录下 题目 思路与算法 代码实现 题目 和为目标值的最大数目不重叠非空子数组数目 1547. 切棍子的最小成本 在这里插入图片描述 思路与算法 第3题还是一个简单的模拟,用set ...

  4. 20200729:力扣199周周赛题解(下)

    力扣199周周赛题解(下) 题目三:好叶子节点对的数量 给你二叉树的根节点 root 和一个整数 distance . 如果二叉树中两个叶节点之间的 最短路径长度 小于或者等于 distance ,那 ...

  5. 20200819:力扣202周周赛题解记录

    力扣202周周赛题解记录 题目一:[存在连续三个奇数的数组](https://leetcode-cn.com/problems/three-consecutive-odds/) 代码实现 题目二:[使 ...

  6. 20201219:力扣219周周赛题解

    力扣219周周赛题解 题目 思路与算法 代码实现 复杂度分析 题目 比赛中的配对次数 十-二进制数的最少数目 石子游戏 VII 堆叠长方体的最大高度 思路与算法 比赛中的配对次数 两两比赛,淘汰剩一支 ...

  7. 20200910:力扣204周周赛题解上(Java/Python/Cpp)

    力扣204周周赛题解上 题目 思路与算法 代码实现 写在最后 题目 1.1566. 重复至少 K 次且长度为 M 的模式 2.1567. 乘积为正数的最长子数组长度 思路与算法 热身题不要求算法技巧, ...

  8. 20200907:力扣203周周赛题解记录

    力扣203周周赛题解 题目一: 1.圆形赛道上经过次数最多的扇区 示例 解题思路与代码实现 本题的思路为优化整个起点与终点,理清关系,起点到终点的过程中,分为起点小于终点,起点大于终点,起点等于终点, ...

  9. 20200814:力扣201周周赛题解记录上

    力扣201周周赛题解记录上 题目 思路与算法 代码实现 写在最后 题目 整理字符串 找出第 N 个二进制字符串中的第 K 位 思路与算法 第一题这种类似消消乐的东西都是直接用栈来实现的,注意代码细节 ...

最新文章

  1. java纯粹面向对象_Java的面向对象特征
  2. ITK:计算网格的平面参数化
  3. 2018最新手机号正则
  4. python编写下载器可暂停_Python编写一个优美的下载器
  5. Go语言基础之结构体
  6. 请推荐好的工作流产品
  7. [JSOI2012]玄武密码 题解(AC自动机)
  8. 专利申请模板,包含实用新型专利和发明专利模板
  9. Office 与 Visio安装冲突
  10. 非中文正则表达式 php,php判断是不是为中文正则表达式大全(转)
  11. 京东返利PHP采集关键字,php-爬虫练习:抓取京东商品列表与详情-2019年10月18日...
  12. TFT LCD液晶屏显示原理
  13. jbod ugood 磁盘驱动状态_JBOD磁盘配置和StorCLI命令使用小结
  14. php最大的论坛,phpwind论坛史上最大漏洞 -电脑资料
  15. css样式border-radius学习-画出水滴
  16. 修改计算机中文用户名,Win10电脑将中文登录用户名更改为英文名的方法
  17. win10同步服务器文件夹在哪,win10系统一键同步win 10文件夹视图的操作方法
  18. 逃离美国,跨越8000公里远程办公,他开发了世界上最强的虚拟机
  19. IEEE754的理解归纳
  20. 【Java基础】之 JSR 介绍

热门文章

  1. 程序员都应了解的 CDN 是什么?
  2. 微软全面拥抱 AI!
  3. 是时候拯救我的 HTML 技术了!
  4. “Scrum 敏捷开发都是骗人的!”
  5. 郑州没有互联网 | 畅言
  6. 假期怎么提升 Python 技能?100+ 编程题给你练~(附答案)
  7. 微软与开源,化干戈为玉帛
  8. 只讲技术,拒绝空谈!2018 AI 开发者大会精彩议程曝光
  9. 开发者们,2017年你们过得好吗?
  10. 那些坑爹的老代码,究竟改还是不改?!