第一题

leetcode475:供暖器

public class 第一题14 {public static int findRadius(int[] houses, int[] heaters) {Arrays.sort(houses);Arrays.sort(heaters);int max = Integer.MIN_VALUE;for (int i = 0,j = 0;i < houses.length;i++){while (!best(houses,heaters,i,j)){j++;}max = Math.max(max,Math.abs(houses[i] - heaters[j]));}return max;}private static boolean best(int[] houses, int[] heaters, int i, int j) {return j == heaters.length - 1 || (Math.abs(heaters[j] - houses[i]) < Math.abs(heaters[j + 1] - houses[i]));}
}

第二题

public class 第二题14 {public static void main(String[] args) {int[] arr = {1,3,4,8,15,23,26,30,45,53};int res1 = kthAbs1(arr, 13);System.out.println(res1);int res2 = kthAbs2(arr, 13);System.out.println(res2);}public static int kthAbs1(int[] arr,int k){int n = arr.length;if (n < 2 || k < 0 || (n * (n - 1) / 2) < k){return -1;}int[] del = new int[n * (n - 1) / 2];int index = 0;for (int i = 0;i < n;i++){for (int j = i + 1;j < n;j++){del[index++] = Math.abs(arr[j] - arr[i]);}}Arrays.sort(del);return del[k - 1];}public static int kthAbs2(int[] arr,int k){int n = arr.length;if (n < 2 || k < 0 || (n * (n - 1) / 2) < k){return -1;}Arrays.sort(arr);int l = 0;int r = arr[n - 1] - arr[0];int rightlast = -1;while (l <= r){int mid = (l + r) / 2;if (isVail(arr,mid,k)){rightlast = mid;l = mid + 1;}else {r = mid - 1;}}return rightlast + 1;}private static boolean isVail(int[] arr, int mid, int k) {int count = 0;for (int l = 0,r = 1;l < arr.length;r = Math.max(r,l++)){while (r < arr.length && arr[r] - arr[l] <= mid){r++;}count += r - l - 1;}return count < k;}
}

左程云大厂算法刷题班——14相关推荐

  1. 左程云大厂算法刷题班——07

    第一题 leetcode42:接雨水 public class 第一题01 {public static int trap1(int[] height) {int n = height.length; ...

  2. 左程云大厂算法刷题班——05

    第一题 public class 第一题05 {public static void main(String[] args) {int[] res = maxSplitNum("010110 ...

  3. 左程云大厂算法刷题班——08

    第一题 leetcode37:解数独 public class 第一题08 {public void solveSudoku(char[][] board) {boolean[][] row = ne ...

  4. 左程云大厂算法刷题班——15

    第一题 leetcode499:迷宫2 思路:宽度优先遍历 public class 第一题15 {public static void main(String[] args) {int[][] ma ...

  5. 左程云大厂算法刷题班——12

    第一题 leetcode296. 最佳的碰头地点 public class 第一题12 {public static void main(String[] args) {int[][] grid = ...

  6. 左程云大厂算法刷题班——13

    第一题 leetcode992. K 个不同整数的子数组 思路:1.滑动窗口(两个) 2.技巧:k = k = (小于等于k) - (小于等于k-1) public class 第一题13 {publ ...

  7. 左程云大厂算法刷题班——10

    第一题 leetcode279. 完全平方数 public class 第一题10 {public static int numSquares(int n) {int[] dp = new int[n ...

  8. 左程云大厂算法刷题班——02

    第一题 思路:滑动窗口(左右两指针) public class 第一题01 {public static void main(String[] args) {int[] arr = {1,3,4,5, ...

  9. 面试算法LeetCode刷题班—BAT面试官带你刷真题、过笔试

    课程名称: <面试算法LeetCode刷题班> --BAT面试官带你刷真题.过笔试 主讲老师: 林老师 BAT资深研发工程师(T7/P8级),致力于搜索引擎及其子系统的研发.迭代与优化,数 ...

最新文章

  1. [JZOJ] 5837.Omeed
  2. java基础:任意进制到十进制的转换
  3. 实现用户名密码登陆,输入错误3次后锁定用户
  4. 数学--数论--Miller_Rabin判断素数
  5. BeanFactory和ApplicationContext有什么区别
  6. 历年安徽省二计算机考试题库,2010安徽省计算机等级考试试题 二级ACCESS最新考试试题库...
  7. 比特币区块链如何运作?
  8. Git 笔记——如何处理分支合并冲突
  9. 华山论剑之JAVA三大代码生成工具:Lombok、AutoValue和Immutables
  10. 车型代号对照表_车型代号对照表2015Q3
  11. 华云天下荣膺“2021年度十佳呼叫中心硬件及软件设备供应商”
  12. 一些常用的正则表达式(个人收集)
  13. foxmail客户端设置网易邮箱--提示邮箱地址或密码错误
  14. 计算机系云,计算机与信息技术学院
  15. modbus通讯协议详解
  16. python 绘制椭圆
  17. JavaScript面向对象学习深拷贝、浅拷贝(三)
  18. 1. NETSDK1141    无法解析位于  global.json 中指定的 .NET SDK 版本
  19. spring拦截器传递传递参数到controller+Aop切面环绕方法传递参数到目标方法
  20. CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval

热门文章

  1. ActiveX控件v7.2.0.1,Viscom Scanner ActiveX控件
  2. 鲁大师linux系统打印机驱动怎么安装,鲁大师如何安装打印机驱动 鲁大师安装打印机驱动教程...
  3. 在Delphi中可用FormatDateTime函数的用法
  4. 《火影忍者》即将完结 国内火影产业链也就要完了
  5. 天呐,嘉立创的单、双面板又又又降价了,同行还怎么玩儿?
  6. 今日简报 每日精选12条新闻简报 每天一分钟 知晓天下事 2月23日
  7. WindowsVista系统盘揭密:Users文件夹
  8. Java Example(九)
  9. 还在用笨重的 ELK?这个轻量级开源日志系统真香!
  10. 中国主要咨询研究信息管理机构公司经营发展情况