当前位置: 首页 > article >正文

至少是其他数字两倍的最大数(747)

747. 至少是其他数字两倍的最大数 - 力扣(LeetCode)

解法:

class Solution {
public:
    int dominantIndex(vector<int>& nums) 
    {
        if (nums.empty()) {
            return -1;
        }

        int max_idx = 0;
        int max = nums[0]; 
        for (int i = 1; i < nums.size(); ++i) {
            if (nums[i] > max) {
                max = nums[i];
                max_idx = i;
            }
        }

        for (int i = 0; i < nums.size(); ++i) {
            if (i == max_idx) {
                continue;
            }

            //nums[i] << 1 通过移位的方式计算nums[i]的2倍,速度更快
            if ((nums[i] << 1) >  max) {
                return -1;
            }
            
        }

        return max_idx;
    }
};

总结:

时间复杂度O(N),空间复杂度O(1),通过移位的方式计算nums[i]的2倍,速度更快


http://www.kler.cn/a/524306.html

相关文章:

  • 爬虫基础(一)HTTP协议 :请求与响应
  • 【C语言】static关键字的三种用法
  • 21.2-工程中添加FreeRTOS(掌握) 用STM32CubeMX添加FreeRTOS
  • vue和reacts数据响应式的差异
  • 二叉树的最大深度(遍历思想+分解思想)
  • 如何在Spring Boot项目中高效集成Spring Security
  • Skynet实践之「Lua C 模块集成—优先级队列」
  • 渲染流程概述
  • 【逻辑学导论第15版】A. 推理
  • Windows 系统下使用 Ollama 离线部署 DeepSeek - R1 模型指南
  • MyBatis 关联映射详解
  • OpenEuler学习笔记(十五):在OpenEuler上搭建Java运行环境
  • 【实践】基于SakuraLLM的离线日文漫画及视频汉化
  • HarmonyOS:状态管理最佳实践
  • 联想Y7000+RTX4060+i7+Ubuntu22.04运行DeepSeek开源多模态大模型Janus-Pro-1B+本地部署
  • 中国股市“慢牛”行情的实现路径与展望
  • 如何将 Windows 上的文件传递到 Mac 上
  • Android-音频采集
  • Python 合并 Excel 单元格
  • 望获实时Linux系统:2024回顾与2025展望
  • 代码随想录算法训练营第三十九天-动态规划-198. 打家劫舍
  • 使用kitty terminal遇到的‘xterm-kitty‘: unknown terminal type.
  • 【Convex Optimization Stanford】Lec3 Function
  • 【C++题解】1056. 所有不超过1000的数中含有数字3的自然数
  • 2025年大年初一篇,C#调用GPU并行计算推荐
  • leetcode——二叉树的中序遍历(java)