275. H 指数 II——二分查找

news/2025/2/26 7:45:59
class Solution {
public:
    int hIndex(vector<int>& citations) {
        int h = 0, n = citations.size();
        int left = 0, right = n - 1;
        int ans = 0;    //初值为0可以处理一些特殊情况
        while(left <= right){
            int mid = (left  + right) / 2;
            //按提议要求,h篇至少引用了h次
            //因为原数组是升序,越往后越大,那么第i个元素 = num[i]代表n - i个元素大于等于 num[i]
            //所以citations[mid] >= n - mid
            if(citations[mid] >= n - mid){
                right = mid - 1;
                ans = n - mid;
            }
            else
                left = mid + 1;
        }
        return ans;
    }
};

Accepted
83/83 cases passed (12 ms)
Your runtime beats 90.17 % of cpp submissions
Your memory usage beats 46.97 % of cpp submissions (18.2 MB)


http://www.niftyadmin.cn/n/754531.html

相关文章

Springboot配置使用ssl,使用https

SSL&#xff08;Secure Sockets Layer 安全套接层&#xff09;是为网络通信提供安全及数据完整性的一种安全协议&#xff0c;SSL在网络传输层对网络连接进行加密&#xff0c;SSL协议位于TCP/IP协议与各种应用层协议之间&#xff0c;为数据通信提供安全支持。SSL协议分为两层&am…

ubuntu18.04的网络配置

ubuntu18.04TLS与ubuntu16.04TLS的网络配置有所改动 ubuntu16.04TLS的网络配置文件为/etc/network/interfaces&#xff0c;我们通过在该文件中写入配置对网卡进行IP设置。并且然后通过网卡的重启来加载该配置。 但是在ubuntu18.04TLS中&#xff0c;其引入了一个新的工具netpla…

如何把Ubuntu 18.04改造成Windows主题界面

Ubuntu18.04预装了GNOME 3 Desktop。GNOME3是一个可定制的桌面环境。你可以调整它以适应你的日常需求。图标&#xff0c;主题&#xff0c;光标主题和许多其他内容都可以更改。 Gnome Tweak Tool 是 Gnome 出品的配置工具&#xff0c;方便用户对 Gnome Shell 进行一些调整。 主…

279. 完全平方数——动态规划

class Solution { public:int numSquares(int n) {vector<int> dp(n 1);//对每一个进行计算可以由多少个完全平方数组成for(int i 1; i < n; i){int minN INT_MAX;//i 肯定可以由 (i - j * j) j * j组成//那么逐个比较需要的完全平方数的数量&#xff0c;取小//同…

2018-06-08CSS常用样式+浮动+定位+盒子模型

CSS布局样式&#xff1a; 常用样式&#xff1a; ① 字体 ② 颜色 ③ 背景 布局&#xff1a; ① 浮动 ② 定位 ③ 标签特性 标签盒子模型&#xff1a; ① 内边距 ② 边框 ③ 外边距 动画&#xff1a; ① 旋转 ② 渐变 Link的正确用法&#xff…

ubuntu18.04怎么把应用列表中的图标放在桌面

首先找到 /usr/share/appluications这个目录 在这个目录下是全部应用软件的图标快捷方式。如下图&#xff1a; 然后选中一个图标&#xff0c;复制&#xff0c;再到桌面粘贴。如下图&#xff1a; 这个时候&#xff0c;右键点开属性->权限->允许作为程序执行文件。然后双…

287. 寻找重复数——二分查找

class Solution { public:int findDuplicate(vector<int>& nums) {//示例1:[1, 3, 4, 2, 2]//范围是[1, 5]//在范围内使用二分算法//(1 5) / 2 3,数组中小于等于2的有3个//按照正常的不重复来说,小于3的应该只有1、2两个&#xff0c;那么说明重复的肯定小于3//那么…

ubuntu18.04终端右上角出现一个黑色终端小图标

该问题的造成是由于开启了应用程序菜单这一栏&#xff0c;但是我们看到界面显示是关闭&#xff0c;但是这个时候&#xff0c;实际上是开启的&#xff0c;不知道是什么状况&#xff0c;这个工具是通过apt安装的gnome-tweak-tool。这个应该是一个显示bug。我们只要使它处于打开状…