不修改数组找出重复的数字
生活随笔
收集整理的這篇文章主要介紹了
不修改数组找出重复的数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在長度為n+1的數組里的所有數字都在1~n的范圍內,所以數組中至少有一個數字是重復的。請找出數組中任意一個重復的數字,但不能修改輸入的數組。
思路:
一、把1~n的數字從中間的數字m分成兩部分,前面一半為1 ~m,后面一半為m+1 ~ n;
二、若1 ~ m的數字的數目超過m,那么這一半的區間里一定包含重復的數字;否則另 一半m+1 ~n的區間里一定包含重復的數字。
三、繼續把包含重復數字的區間一分為二,直到找到一個重復的數字。
總結
以上是生活随笔為你收集整理的不修改数组找出重复的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去除字符串空格
- 下一篇: 字符串相乘(大数相乘)