首页 > 其他分享 >面试经典 150 题 (十二)

面试经典 150 题 (十二)

时间:2024-02-07 11:23:13浏览次数:24  
标签:150 int 复杂度 counter 十二 面试 length citations total

排序,i代表至少发表的论文数量
时间复杂度:O(nlogn)
空间复杂度:O(logn)

class Solution {
    public int hIndex(int[] citations) {
        // 0 1 3 5 6
        int length = citations.length;
        Arrays.sort(citations);
        int h = 0;
        for (int i = 1; i <= length; i++){
            if (citations[length - i] >= i) {
                h = i;
                continue;
            }else{
                break;
            }
        }
        return h;
    }
}

计数排序
时间复杂度: O(n)
空间复杂度: O(n)

class Solution {
    public int hIndex(int[] citations) {
        // 0 1 3 5 6
        int length = citations.length;
        int[] counter = new int[length + 1]; //[0,length]
        //引用数量大于等于h的论文数量都被记录在counter[length]中
        for(int i = 0;i < length;i++){
            if(citations[i] >= length) counter[length]++;
            else{
                counter[citations[i]]++;
            }
        }
        int total = 0;
        //i代表了最少发表的论文数量
        for(int i = length; i >=0; i--){
            total += counter[i];
            if(total >= i)
                return i;
        }
        return 0;
    }
}

标签:150,int,复杂度,counter,十二,面试,length,citations,total
From: https://www.cnblogs.com/poteitoutou/p/18010746

相关文章

  • 解锁阿里巴巴面试题:创建线程的几种方式?
    大家好,我是小米!今天我们来聊一个热门话题——阿里巴巴面试题:创建线程的几种方式。在技术的海洋中,线程是我们编程航程中的一艘不可或缺的船,驶向程序的未知领域。那么,究竟有哪些方式可以创建线程呢?让我们一起揭开这个技术的神秘面纱!实现Runnable接口首先,我们来说说最常见、最推荐的方......
  • C语言解题 || 公务员面试
    题目:公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最分和一个最低分,输出每组的平均成绩。(注:本题有多组输入)输入描述:每一行,输入7个整数(0~100),代表7个成绩,用空格分隔。输出描述:每一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位......
  • 面试经典:Java中list set map之间的区别
    前言大家好,我是chowley,最近正在复习Java集合,这次来总结一下list、set、map它们三个之间的区别。1.List(列表)定义:List是一种有序集合,允许存储重复元素,每个元素都有一个索引,可以按照插入顺序获取。特点:允许存储重复元素。有序集合,保留元素的插入顺序。可以通过索引访问元素。常见实现......
  • 面试经典 150 题 (十一)
    classSolution{publicintjump(int[]nums){if(nums.length<=1)return0;//记录每次起跳所能跳到的最远的距离intfarestIndex=0;intmaxIndex=0;intstart=0;inttimes=0;while(true){......
  • 【面试突击】数据库面试实战-SQL 优化(加更)
    欢迎关注公众号【11来了】,及时收到AI前沿项目工具及新技术的推送!在我后台回复「资料」可领取编程高频电子书!在我后台回复「面试」可领取硬核面试笔记!MySQL中的SQL优化这里主要说一下MySQL中如何对SQL进行优化,其实主要还是根据索引来进行优化的,如果好好了解下边的SQL......
  • 面试经典 150 题 (十)
    用一个变量存放当前所能到达的最远的下标位置classSolution{publicbooleancanJump(int[]nums){intfarestIndex=0;//记录当前最远能到达的下标for(inti=0;i<=farestIndex&&i<nums.length;i++){if((nums[i]+i)>......
  • 面试经典 150 题 (九)
    动态规划,五种状态,关键是找出状态转移式classSolution{publicintmaxProfit(int[]prices){intbuy1=-prices[0];intsell1=0;intbuy2=-prices[0];intsell2=0;for(inti=1;i<prices.length;i++......
  • IT工单治理野史:由每周最高150+治理到20+ | 京东物流技术团队
    背景相信不少人都值过班当过小秘吧,每天都要在线排查与解答各种各样来自IT或"单聊"的问题,同时还要针对每个问题进行"复盘"分析,在完善系统、提高体验的同时挖掘出其中的雷点,防止某一天突然"爆炸"造成不可控的局面。我们这边在值班小秘每日进行线上问题排查、解答与跟踪,工单量越大耗费......
  • IT工单治理野史:由每周最高150+治理到20+ | 京东物流技术团队
    背景相信不少人都值过班当过小秘吧,每天都要在线排查与解答各种各样来自IT或"单聊"的问题,同时还要针对每个问题进行"复盘"分析,在完善系统、提高体验的同时挖掘出其中的雷点,防止某一天突然"爆炸"造成不可控的局面。我们这边在值班小秘每日进行线上问题排查、解答与跟踪,工单量越大......
  • 2024年大数据面试的热门问题
    大数据是涉及以TB或PB为单位的大型数据集的大量数据。根据一项调查,今天大约90%的数据是在过去两年中产生的。大数据帮助公司对其提供的产品和服务产生有价值的见解。近年来,每家公司都使用大数据技术来完善其营销活动和技术。对于那些对准备跨国公司大数据面试感兴趣的人来说,本文是......