日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

剑指offer-数组中的重复的数字-p39

發布時間:2023/12/4 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 剑指offer-数组中的重复的数字-p39 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數組

c++中的STL中的vector
(STL中的vector每次擴容量時,新的容量都是之前一次的兩倍)
在c/c++中,數組和指針是相互關聯又有區別的兩個概念。
關聯:當我們聲明一個數組時,其數組的名字也是一個指針,該指針指向數組的第一個元素。我們可以用一個指針來訪問數組。

#include<iostream> using namespace std; int GetSize(int data[]) {return sizeof(data); } int main() {int data1[]={1,2,3,4,5};int size1=sizeof(data1);int *data2=data1;int size2=sizeof(data2);int size3=GetSize(data1);cout<<size1<<","<<size2<<","<<size3<<endl;system("pause"); }


這里是因為作者的編輯環境是在win64,vscode編譯器下。
data1是一個數組,sizeof(data1)是求數組的大小int類型的常量是占四個字節的,5*4=20;

data2聲明為指針,盡管它指向了數組的第一個數字,但他的本質任然是一個指針,在64位操作系統上,對任意指針求sizeof,得到的結果都是8;

在c/c++中,當數組作為函數的參數進行傳遞時,數組就自動轉換為同類型的指針。因此,盡管函數GetSize的參數data被聲明為數組,但他會退化為指針,size3的結果為8;

題目1:找出數組中的重復的數字
在一個長度為n的數組里的所有數字都在0~n-1的范圍內。數組中某些數字是重復的,但不知道有幾個數字重復了,也不知道每個數字重復了幾次。請找出數組中任意一個重復的數字。
例如:如果輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出是重復的數字2或者3。

思路:
暴力的解法
1.排序 時間復雜度O(nlogn);
2.哈希表 空間復雜度O(n);

更好的解決方法:

總結

以上是生活随笔為你收集整理的剑指offer-数组中的重复的数字-p39的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。