首页 > 其他分享 >力扣274.H指数

力扣274.H指数

时间:2024-09-24 19:49:04浏览次数:10  
标签:arr 题目 指数 int System 力扣 length 274 out

题目要求:

给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数

根据维基百科上 h 指数的定义h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且 至少 有 h 篇论文被引用次数大于等于 h 。如果 h 有多种可能的值,h 指数 是其中最大的那个。

题目分析:

题目分析 1.h最大长度为数组长度(0<=h<=arr.length)
        2.最少有h个元素大于h,且剩余元素数量小于h
        3.先进行数组的排序,从大到小进行

代码实现:

public static void main(String[] args) {
        /*
        * 题目分析 1.h最大长度为数组长度(0<=h<=arr.length)
        *         2.最少有h个元素大于h,且剩余元素数量小于h
        *         3.先进行数组的排序,从大到小进行
        * */
        int[] arr = {3,0,6,1,5};
        int length = arr.length;
        for (int i = 0; i < length; i++) {
            for (int j = 0; j < length-1-i; j++) {
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
//        for (int i = 0; i < arr.length; i++) {
//            System.out.print(arr[i]+" ");
//
//        }
        System.out.println("\n");
        //存放符合条件的所有结果
        List<Integer> results = new ArrayList<>();
        for (int i = 0; i < length; i++) {
            if((length-i>=arr[i])&&(i<=length-arr[i])){
                results.add(arr[i]);
                //System.out.println("h的最大值为"+arr[i]);
            }
        }
        int max = results.get(0);
        for(int result:results ){
            if(result>max){
                max = result;
            }
        }
        System.out.println("最大h值为"+max);


    }

运行结果: 

 

标签:arr,题目,指数,int,System,力扣,length,274,out
From: https://blog.csdn.net/m0_72186118/article/details/142443179

相关文章

  • 力扣题解2207
    大家好,欢迎来到无限大的频道。今日继续给大家带来力扣题解。题目描述(中等)​:字符串中最多数目的子序列给你一个下标从 0 开始的字符串 text 和另一个下标从 0 开始且长度为 2 的字符串 pattern ,两者都只包含小写英文字母。你可以在 text 中任意位置插入 一个......
  • 一文 学透 力扣—N数之和
    题目一:1.两数之和❤题目思路当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。本题呢,我就需要一个集合来存放我们遍历过的元素,然后在遍历数组的时候去询问这个集合,某元素是否遍历过,也就是是否出现在这个集合。那么我们就应该想到......
  • LeetCode力扣——并查集:947. 移除最多的同行或同列石头,1971. 寻找图中是否存在路径,24
    947.移除最多的同行或同列石头题目描述947.移除最多的同行或同列石头n 块石头放置在二维平面中的一些整数坐标点上。每个坐标点上最多只能有一块石头。如果一块石头的 同行或者同列 上有其他石头存在,那么就可以移除这块石头。给你一个长度为 n 的数组 stones ,其......
  • 力扣72-编辑距离(Java详细题解)
    题目链接:力扣72-编辑距离前情提要:因为本人最近都来刷dp类的题目所以该题就默认用dp方法来做。dp五部曲。1.确定dp数组和i下标的含义。2.确定递推公式。3.dp初始化。4.确定dp的遍历顺序。5.如果没有ac打印dp数组利于debug。每一个dp题目如果都用这五步分析清楚,那么......
  • 力扣刷题笔记
    有序数组的平方:我的错误解法:publicclassTest{publicstaticvoidmain(String[]args){Solutions=newSolution();int[]nums={-5,-3,-2,-1};System.out.println(Arrays.toString(s.removeElement(nums)));;}}classSolutio......
  • GEE教程:利用sentinel-2数据进行ndwi和ndci指数的计算和下载
    目录简介函数normalizedDifference(bandNames)Arguments:Returns: ImageExport.image.toDrive(image, description, folder, fileNamePrefix, dimensions, region, scale, crs, crsTransform, maxPixels, shardSize, fileDimensions, skipEmptyTiles, file......
  • 力扣最热一百题——最长公共前缀
    目录题目链接:14.最长公共前缀-力扣(LeetCode)题目描述示例提示:解法一:逐步缩减前缀Java写法:运行时间C++写法:运行时间时间复杂度和空间复杂度解法二:字典序排序什么是字典序?为什么通过字典序排序之后的首位字符串就可以找到最长公共前缀?举例说明:Java写法:运行时......
  • 2024.09.22 力扣刷题 Z字形变换
    题目:将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。比如输入字符串为"PAYPALISHIRING"行数为3时,排列如下:PAHNAPLSIIGYIR之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实......
  • 【数据结构-差分】【hard】力扣995. K 连续位的最小翻转次数
    给定一个二进制数组nums和一个整数k。k位翻转就是从nums中选择一个长度为k的子数组,同时把子数组中的每一个0都改成1,把子数组中的每一个1都改成0。返回数组中不存在0所需的最小k位翻转次数。如果不可能,则返回-1。子数组是数组的连续部分。示......
  • 【力扣 | SQL题 | 每日三题】力扣175, 176, 181
    1.力扣175:组合两个表1.1题目:表: Person+-------------+---------+|列名|类型|+-------------+---------+|PersonId|int||FirstName|varchar||LastName|varchar|+-------------+---------+personId是该表的主键(具有唯一......