LeetCode
大数据er
这个作者很懒,什么都没留下…
展开
-
2021-03-14
解法一:双数组循环思路:求出每个房子与离他最近的供暖器的距离,然后在这些距离中求出最大的(最大就可以保证全覆盖),第一次使用双重循环:就是先遍历房子的数组,再遍历暖器的数组,然后就超时了;第二次,首先对两个数组排序,然后在求距离时就可以根据相邻两个值的大小确定是不是最小值。public static void main(String[] args) { int[] houses = {1,2,3}; int[] heaters = {2}; ...原创 2021-03-14 22:28:06 · 209 阅读 · 0 评论 -
2021-03-12
要使得剩下的整数种类最少,就要尽量删去那些出现次数少的。所以需要先统计各个整数的出现次数,然后对出现次数排序,从小到大去掉k个出现次数较少的整数,剩下的整数种类就是结果。时间复杂度为O ( n l o g n ) O(nlogn)O(nlogn),空间复杂度为O ( n ) O(n)O(n)。Java版代码:classSolution{publicintfindLeastNumOfUniqueInts(int[]arr,intk){Map&l...原创 2021-03-12 22:16:35 · 74 阅读 · 0 评论 -
2021-03-11
借用一个辅助栈min_stack,用于存获取stack中最小值。算法流程:1.push()方法: 每当push()新值进来时,如果 小于等于 min_stack栈顶值,则一起push()到min_stack,即更新了栈顶最小值;2.pop()方法: 判断将pop()出去的元素值是否是min_stack栈顶元素值(即最小值),如果是则将min_stack栈顶元素一起pop(),这样可以保证min_stack栈顶元素始终是stack中的最小值。3.getMin()方法: 返回min_stack栈原创 2021-03-11 23:59:58 · 74 阅读 · 0 评论 -
GTAlgorithm打卡第一天
class Solution { public int maxAreaOfIsland(int[][] grid) { int i,j,temp,result=0; for(i=0;i<grid.length;i++){ for(j=0;j<grid[0].length;j++){ if(grid[i][j]==1){ result=Math.max((...原创 2021-03-10 22:24:20 · 176 阅读 · 2 评论