LeetCode 面试题 08.03. 魔术索引

news/2024/12/22 16:20:36/

文章目录

  • 一、题目
  • 二、C# 题解

一、题目

  魔术索引。 在数组A[0...n-1] 中,有所谓的魔术索引,满足条件 A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。

示例1:

输入: nums = [0, 2, 3, 4, 5]
输出: 0
说明: 0下标的元素为0

示例2:

输入: nums = [1, 1, 1]
输出: 1

说明:

  • nums长度在[1, 1000000]之间
  • 此题为原书中的 Follow-up,即数组中可能包含重复元素的版本

  点击此处跳转题目。

二、C# 题解

  依次遍历,但是进行剪枝:如果当前值大于索引,则跳转到当前值的索引位置。

public class Solution {public int FindMagicIndex(int[] nums) {if (nums[0] > nums.Length || nums[^1] < 0) return -1;int i = 0;while (i < nums.Length) {if (nums[i] == i) return i;   // 找到魔术索引,立即返回if (nums[i] > i) i = nums[i]; // 如果当前值大于索引,则跳转到当前值的索引位置else i++;                     // 否则,继续判断下一个位置}return -1;}
}
  • 时间:88 ms,击败 81.82% 使用 C# 的用户
  • 内存:41.7 MB,击败 72.73% 使用 C# 的用户

http://www.ppmy.cn/news/1134959.html

相关文章

[Machine Learning] Learning with Noisy Data

文章目录 Probabilistic Perspective of NoiseBias and VarianceRobustness among Surrogate Loss FunctionsNMF Probabilistic Perspective of Noise 假设数据来源于一个确定的函数&#xff0c;叠加了高斯噪声。我们有&#xff1a; y h ( x ) ϵ y h(x) \epsilon yh(x)ϵ…

【算法优选】 滑动窗口专题——壹

文章目录 &#x1f60e;前言&#x1f340;[长度最小的子数组](https://leetcode.cn/problems/minimum-size-subarray-sum/description/)&#x1f6a9;题目描述&#xff1a;&#x1f6a9;算法思路&#xff1a;&#x1f6a9;滑动窗口可以解决问题的原因&#xff1f;&#x1f6a9;…

Collagen

\ collagen XV/XVIII, Endostatin- angiogenesis inhibitor; c-type lectin 结构&#xff1b; TSP ( 含有 Laminin-G)

【GPU常见概念】GPU常见概念及分类简述

随着大模型和人工智能的爆火&#xff0c;大家对GPU的关注持续上升&#xff0c;本文简单简述下GPU经常用的概念。 GPU&#xff08;图形处理器&#xff09;&#xff0c;又称显示核心、视觉处理器、显示芯片&#xff0c;是一种专门在个人电脑、工作站、游戏机和一些移动设备&…

自学WEB后端02-基于Express框架完成一个交互留言板!

提示&#xff1a; 浏览器V8是JavaScript的前端运行环境 Node.js 是JavaScript 的后端运行环境 Node.js 中无法调用 DOM 和 BOM等浏览器内置 API 这个作业案例包含2部分内容&#xff0c; 第一部分是前端 前端完成界面内容CSS框架 第二部分是后端 完成用户留言存储&#xf…

Docker Alist 在线网盘部署

文章目录 拉取镜像创建并运行查看容器自动生成的密码在浏览器中进行访问 挂载本地磁盘 拉取镜像 docker pull xhofe/alist-aria2创建并运行 # -v /data/alist:/opt/alist/data 挂载本地目录 docker run -d --restartalways -v /data/alist:/opt/alist/data -p 5244:5244 -e P…

ESP32设备通信-Mesh网络传感器数据收发

ESP-Mesh网络传感器数据收发 文章目录 ESP-Mesh网络传感器数据收发1、应用介绍2、软件准备3、硬件准备4、代码实现在了解如何使用 ESP-MESH 网络在 ESP 板之间交换简单消息后,让我们继续前进。 在本文中,我们将在多个 ESP32/ESP8266 板之间交换传感器读数。 1、应用介绍 在本…

WebSocket实战之六心跳重连机制

一、前言 WebSocket应用部署到生产环境&#xff0c;我们除了会碰到因为经过代理服务器无法连接的问题&#xff08;注&#xff1a;该问题可以通过搭建WSS来解决&#xff0c;具体配置请看 WebSocket实战之四WSS配置 &#xff09;&#xff0c;另外一个问题就是外网环境不稳定经常…