力扣第37场双周赛(上)

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

题目

    1. 删除某些元素后的数组均值

    1. 网络信号最好的坐标

思路与算法

  1. 第二题直接暴力就可以了,计算每个点的所有偏移量存入list,即以(0,0)为圆心,半径为radius,求这个圆内能覆盖的整数点,存入list,这就是每个坐标的可能偏移量,然后代入每个点计算符合题目要求的点即可,注意计算的时候不要把欧几里得距离转化为整型,使其保持双精度进行比较。
  2. 要学的太多,周赛有时间就写题解,没时间也没办法。诸君共勉,身体为重。效率至上

代码实现

  1. 删除某些元素后的数组均值
class Solution {public double trimMean(int[] arr) {int len = arr.length;int len1 = (int) (len * 0.05);Arrays.sort(arr);double sum = 0;for (int i = len1; i < len - len1; i++) {sum += arr[i];}return sum / (len - 2 * len1) ;}
}
  1. 网络信号最好的坐标
class Solution {public int[] bestCoordinate(int[][] towers, int radius) {int[] res = new int[2];int max_x = 0;int max_y = 0;// 遍历towers数组找到最大的x和y坐标,即最上边和最右边的点for (int[] t : towers) {if (t[0] > max_x) {max_x = t[0];}if (t[1] > max_y) {max_y = t[1];}}// 将所有塔能覆盖的点以坐标为索引存入二维数组int[][] sig = new int[max_x + radius + 1][max_y + radius + 1];// 计算偏移量List<int[]> points = new ArrayList<>();for (int i = 0 - radius; i <= radius; i++) {for (int j = 0 - radius; j <= radius; j++) {if (distance(i,j) <= radius) {points.add(new int[] {i,j});}}}// 覆盖范围内的点计算signal强度并存入sigfor (int[] t : towers) {for (int[] p : points) {// 经过偏移后的坐标值(x,y)int x = t[0] + p[0];int y = t[1] + p[1];if ( x >= 0 && y >= 0) {sig[x][y] += signal(t[2],p[0],p[1]);}}}// 找到sig最大的值,倒序找确保字典序最小的最后被找到int max_signal = 0;for (int i = sig.length - 1; i >= 0; i--) {for (int j = sig[0].length - 1; j >= 0; j--) {if (sig[i][j] >= max_signal) {max_signal = sig[i][j];res[0] = i;res[1] = j;}}}return res;}private double distance(int i, int j) {return Math.sqrt(i * i + j * j);}private int signal(int q,int x,int y) {return (int) (q / (1 + distance(x,y)));}
}

写在最后

冲!

20201023:力扣第37场双周赛(上)相关推荐

  1. 20220219:力扣第72场双周赛题解

    力扣第72场双周赛 题目 思路与算法 代码实现 写在最后 题目 统计数组中相等且可以被整除的数对 找到和为给定整数的三个连续整数 拆分成最多数目的偶整数之和 统计数组中好三元组数目 思路与算法 前三题 ...

  2. 20210530:力扣第53场双周赛题解

    力扣第53场双周赛题解 题目 思路与算法 代码实现 写在最后 题目 长度为三且各字符不同的子字符串 数组中最大数对和的最小值 矩阵中最大的三个菱形和 思路与算法 长度为三且各字符不同的子字符串:遍历查 ...

  3. 以赛促练-力扣第85场双周赛以及第307场周赛

    文章目录 第85场双周赛 T3.字母移位II T4.删除操作后的最大子段和 第307场周赛 T2.最大回文数字 T3.感染二叉树需要的总时间 T4.找出数组的第K大和 第85场双周赛 T1直接暴力枚举 ...

  4. 力扣 第 87 场双周赛 ---心态爆炸场

    第 87 场双周赛 T1 - 模拟 class Solution {public:int q[13] = {0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, ...

  5. 力扣第 104 场双周赛 2681. 英雄的力量

    原题链接力扣 题目大意:我开始看成连续子段了,写了个递归程序....... 一个数组任选一个子序列,子序列的力量值=最大值平方*最小值.求所有子序列的力量和. 分析过程:如序列长度为n,子序列总数为2 ...

  6. 力扣第 107 场双周赛

    因为打abc打(。・∀・)ノ゙嗨了,忘记cf是10.05了,所以只能去力扣了 A.直接模拟,然后把用过的点记录下次别用就行 class Solution:def maximumNumberOfStri ...

  7. 20211201:力扣第268周双周赛(上)

    力扣第268周双周赛(上) 题目 思路与算法 代码实现 写在最后 题目 两栋颜色不同且距离最远的房子 给植物浇水 思路与算法 双指针遍历即可,维护那个索引最大差值即可. 模拟题,正常情况需要每次走一步 ...

  8. 20210119:力扣第42周双周赛(下)

    力扣第42周双周赛(下) 题目 思路与算法 代码实现 写在最后 题目 修改后的最大二进制字符串 得到连续 K 个 1 的最少相邻交换次数 思路与算法 修改后的最大二进制字符串 这道题的思路很简单,交换 ...

  9. 20210101:力扣第42周双周赛(上)

    力扣第42周双周赛(上) 题目 思路与算法 代码实现 写在最后 题目 无法吃午餐的学生数量 平均等待时间 思路与算法 无法吃午餐的学生数量 本题直接暴力模拟也没问题,但是这应该不是题目的本意,我们可以 ...

最新文章

  1. Redis 很屌,不懂使用规范就糟蹋了
  2. selenium+Headless Chrome实现不弹出浏览器自动化登录
  3. 微信团队放大招!他们为了小程序居然...
  4. sqlserver 动态表名 动态字段名 执行 动态sql
  5. UVA 11584—— Partitioning by Palindromes
  6. pdf是文件还是文档
  7. 总结CMS常见面试题
  8. 【bzoj4940】这是我自己的发明
  9. Leetcode: Maximum XOR of Two Numbers in an Array
  10. python监控网页变化教程_Python实时监控网站浏览记录实现过程详解
  11. linux 格式化磁盘失败,linux格式化磁盘出错
  12. Edge无法上网的解决方法
  13. python3 模块 public缀_Python publicsuffixlist包_程序模块 - PyPI - Python中文网
  14. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java影视资源分享论坛23562
  15. 超分辨率 | 综述!使用深度学习来实现图像超分辨率
  16. SpringSecurity安全框架简介
  17. python爬虫用到的技术_python爬虫技术的选择
  18. 微信公众号之海量资料
  19. js 内置对象
  20. Linux 启动时,出现give root password for maintenance处理方法

热门文章

  1. 火速收藏!Android 开发者必会的内存泄漏指南
  2. 这款耳机的性价比堪比AirPods,有点酷!
  3. 马云再谈 996:真正的 996 与被剥削无关
  4. iSPRINT:Google 最高能的创新加速课程,绝不允许产品走弯路!
  5. 如何绘制高大上的词云图?
  6. 同样是程序员,为什么别人比你更优秀?
  7. 马云再出新语录:月入一两百万很高兴,挣一二十亿很难受
  8. 会员登录 php,php $_SESSION会员登录实例分享
  9. c语言相邻地址相差多少,C语言内存地址基础
  10. php post u,php 超全局变量 get post request