leetcode面試題 10.03. 搜索旋轉數組(二分法)

搜索旋轉數組。給定一個排序后的數組,包含n個整數,但這個數組已被旋轉過很多次了,次數不詳。請編寫代碼找出數組中的某個元素,假設數組元素原先是按升序排列的。若有多個相同元素,返回索引值最小的一個。

示例1:

輸入: arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14], target = 5
輸出: 8(元素5在該數組中的索引)

代碼

class Solution {public int search(int[] arr, int target) {int l=0,n=arr.length,r=n-1;while (l<=r){int mid=(r-l)/2+l;if (arr[l]<arr[mid])//左邊升序{if(arr[l]<=target&&target<=arr[mid])r=mid;else l=mid+1;}else if(arr[l]>arr[mid])//左邊不是升序{if(arr[l]<=target||target<=arr[mid])r=mid;else l=mid+1;}else if(arr[l]==arr[mid]){if (arr[l]!=target)l++;else return l;}}return -1;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393478.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393478.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393478.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MSSQL → 02:數據庫結構

一、數據庫的組成 在SQL Server 2008中&#xff0c;用戶如何訪問及使用數據庫&#xff0c;就需要正確了解數據庫中所有對象及其設置。數據庫就像一個容器&#xff0c;它里面除了存放著數據的表之外&#xff0c;還有視圖、存儲過程、觸發器、約束等數據庫對象。數據庫管理的核心…

JAVA拳皇_拳皇(Java簡單的小程序)代碼實例|chu

剛開始學習Java&#xff0c;看完老九君的視頻根據他的內容敲的代碼&#xff0c;感覺還挺有成就感的&#xff0c;畢竟剛學習Java。package helloasd;import java.util.*; public class hellojava { public static void main(String[] args) { Scanner input new Scanner(System…

mySQL教程 第9章 觸發器

第9章 觸發器 入的新數據放到new表&#xff0c;刪除的數據放到old表。 準備本章學習環境 連接數據庫schoolDB&#xff0c;刪除表TStudent&#xff0c;TScore和Tsubject中的所有數據。 delete from TStudent; delete from TScore; delete from TSubject; 向學生表插入兩條記錄 i…

vue使用python_如何使用Python和Vue創建兩人游戲

vue使用pythonby Neo Ighodaro由新Ighodaro 如何使用Python和Vue創建兩人游戲 (How to create a two-player game with Python and Vue) In this tutorial, we will create a realtime tic-tac-toe game using Python and Pusher channels. Here’s a demo of how the game wi…

掩碼圖制作photoshop__新手用

1.首先你得有一張圖&#xff0c;比如這樣的&#xff1a; 2.用PS打開他 3.左邊工具欄里&#xff08;快速選擇工具W&#xff09;&#xff0c;選想顯示的部分 4.ctrlc復制一下&#xff0c;新建一張黑底圖粘貼上去或者白底圖時選中顯示區即花瓣右鍵反向右鍵填充成黑色 5.菜單欄->…

leetcode287. 尋找重復數(二分法)

給定一個包含 n 1 個整數的數組 nums&#xff0c;其數字都在 1 到 n 之間&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一個重復的整數。假設只有一個重復的整數&#xff0c;找出這個重復的數。 示例 1: 輸入: [1,3,4,2,2] 輸出: 2 代碼 class Solution {…

os-enviroment

pip3 install PyUserInput ping 是不帶協議的轉載于:https://www.cnblogs.com/liuweimingcprogram/p/10957592.html

java 壓縮 亂碼_如何解決java壓縮文件亂碼問題

用java來打包文件生成壓縮文件&#xff0c;有兩個地方會出現亂碼&#xff1a;內容的中文亂碼問題&#xff1a;修改sun的源碼。使用開源的類庫org.apache.tools.zip.ZipOutputStream和org.apache.tools.zip.ZipEntry&#xff0c;這兩個類ant.jar中有&#xff0c;可以下載使用即可…

Unity3D手機斗地主游戲開發實戰(02)_叫地主功能實現

大體思路 前面我們實現了點擊開始游戲按鈕&#xff0c;系統依次給玩家發牌的邏輯和動畫&#xff0c;并展示當前的手牌。這期我們繼續實現接下來的功能--叫地主。 1.首先這兩天&#xff0c;學習了DOTween&#xff0c;這是一個強大的Unity動畫插件&#xff0c;大家可以參考&#…

TensorFlow 學習(十)—— 工具函數

1. 基本 tf.clip_by_value() 截斷&#xff0c;常和對數函數結合使用 # 計算交叉熵crose_ent -tf.reduce_mean(tf.log(y_*tf.clip_by_value(y, 1e-10, 1.))) a tf.reshape(tf.range(6, dtypetf.float32), [2, 3]) tf.clip_by_value(a, 2.5, 4.5) # 將值限定在 2.5 …

delphi5開發人員指南_非設計人員的網頁設計開發人員指南

delphi5開發人員指南I created my first website as a school project when I was 14. The task was simple: create a very basic site including some text, images, and a table. My usual attitude to school projects was to completely forget about them and later come…

leetcode1292. 元素和小于等于閾值的正方形的最大邊長(二分法+前綴和)

給你一個大小為 m x n 的矩陣 mat 和一個整數閾值 threshold。 請你返回元素總和小于或等于閾值的正方形區域的最大邊長&#xff1b;如果沒有這樣的正方形區域&#xff0c;則返回 0 。 示例 2&#xff1a; 輸入&#xff1a;mat [[2,2,2,2,2],[2,2,2,2,2],[2,2,2,2,2],[2,2,2…

java 反射 獲取成員_java 反射獲取成員

package com.wxjaa; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class TestReflect { public static void main(String[] args) throws Exception { // getDeclaredField 可以獲取私有成員&#xff0c; …

Koa 中實現 chunked 數據傳輸

有關于 Transfer-Encoding:chunked 類型的響應&#xff0c;參見之前的文章HTTP 響應的分塊傳輸。這里看 Koa 中如何實現。 Koa 中請求返回的處理 雖然官方文檔有描述說明不建議直接調用 response.write&#xff1a; Bypassing Koas response handling is not supported. Avoid …

git 短寫設置_如何在短短幾分鐘內設置一個Git客戶端

git 短寫設置Today we’re going to talk about Git. You’re going to learn what Git is and how to set up a Git client on your computer.今天我們將討論Git。 您將學習什么是Git&#xff0c;以及如何在計算機上設置Git客戶端。 什么是Git&#xff1f; (What is Git?) I…

P1977 出租車拼車

P1977 出租車拼車 題目背景 話說小 x 有一次去參加比賽&#xff0c;雖然學校離比賽地點不太遠&#xff0c;但小 x 還是想坐 出租車去。大學城的出租車總是比較另類&#xff0c;有“拼車”一說&#xff0c;也就是說&#xff0c;你一個人 坐車去&#xff0c;還是一堆人一起&#…

leetcode1011. 在 D 天內送達包裹的能力(二分查找)

傳送帶上的包裹必須在 D 天內從一個港口運送到另一個港口。 傳送帶上的第 i 個包裹的重量為 weights[i]。每一天&#xff0c;我們都會按給出重量的順序往傳送帶上裝載包裹。我們裝載的重量不會超過船的最大運載重量。 返回能在 D 天內將傳送帶上的所有包裹送達的船的最低運載…

java集合概念_JAVA集合概念

Java集合是使程序能夠存儲和操縱元素不固定的一組數據。 所有Java集合類都位于java.uti包中。與Java數組不同&#xff0c;Java集合中不能存放基本數據類型&#xff0c;只能存放對象的引用。但是在JDK5.0以后的版本當中&#xff0c;JAVA增加了“自動裝箱”和“自動拆箱”的機制&…

項目計劃總結

項目計劃總結 任務 日期 聽課&#xff08;min&#xff09; 編程&#xff08;min&#xff09; 閱讀課本&#xff08;min&#xff09; 日總結&#xff08;min&#xff09; 2017/3/13 120 70 190 2017/3/14 80 80 2017/3/15 90 30 120 2017/3/16 …

HTML5新特性之Mutation Observer

Mutation Observer&#xff08;變動觀察器&#xff09;是監視DOM變動的接口。當DOM對象樹發生任何變動時&#xff0c;Mutation Observer會得到通知。 要概念上&#xff0c;它很接近事件。可以理解為&#xff0c;當DOM發生變動會觸發Mutation Observer事件。但是&#xff0c;它與…