題目: 給定兩個數(shù)組,編寫一個函數(shù)來計算它們的交集.(來自 leecode(349) )
在成都網(wǎng)站制作、網(wǎng)站設(shè)計中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。成都創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設(shè)十年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。
示例 1:
輸入:nums1 = [1,2,2,1], nums2 = [2,2] 輸出:[2] 示例 2:
輸入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出:[9,4]
說明:
我的解法:
題目同上,只不過在輸出的時候
輸出結(jié)果中每個元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個數(shù)組中出現(xiàn)的次數(shù)一致。
示例 1:
輸入:nums1 = [1,2,2,1], nums2 = [2,2] 輸出:[2,2] 示例 2:
輸入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出:[9,4]
解法
如果給定的數(shù)組是排好序的,
arr1 = [1,2,3,4,4,13],arr2 = [1,2,3,9,10]
那這個返回值該如何獲取得兩個數(shù)組的交集呢?
解法
package main
import "fmt"
var arr [2]int //申明一個數(shù)組
func main() {
arr[0] = 1 //數(shù)組賦值
fmt.Println(arr)
arrtest := [3]int{1, 2, 3} //數(shù)組的另一種申明方式
fmt.Println(arrtest)
a := [...]int{1, 2} //[...]自動識別數(shù)組的長度
fmt.Println(a)
fmt.Println(len(a))//輸出數(shù)組的長度
}
下邊是slice的申明和使用其實這就是一種動態(tài)的數(shù)組
復(fù)制代碼 代碼如下:
package main
import "fmt"
func main() {
d := []int{1, 2, 3} //申明一個slice這個是動態(tài)的數(shù)組,沒有長度
fmt.Println(d)
var q, w []int
q = d[0:1] //可以定取得上邊的長度
w = d[1:3]
d = append(d, 2) //向其中添加元素
fmt.Println(d)
fmt.Println(q, w)
}
本文介紹一些Go語言的基礎(chǔ)語法。
先來看一個簡單的go語言代碼:
go語言的注釋方法:
代碼執(zhí)行結(jié)果:
下面來進一步介紹go的基礎(chǔ)語法。
go語言中格式化輸出可以使用 fmt 和 log 這兩個標準庫,
常用方法:
示例代碼:
執(zhí)行結(jié)果:
更多格式化方法可以訪問中的fmt包。
log包實現(xiàn)了簡單的日志服務(wù),也提供了一些格式化輸出的方法。
執(zhí)行結(jié)果:
下面來介紹一下go的數(shù)據(jù)類型
下表列出了go語言的數(shù)據(jù)類型:
int、float、bool、string、數(shù)組和struct屬于值類型,這些類型的變量直接指向存在內(nèi)存中的值;slice、map、chan、pointer等是引用類型,存儲的是一個地址,這個地址存儲最終的值。
常量是在程序編譯時就確定下來的值,程序運行時無法改變。
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
Go 語言的運算符主要包括算術(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符、賦值運算符以及指針相關(guān)運算符。
算術(shù)運算符:
關(guān)系運算符:
邏輯運算符:
位運算符:
賦值運算符:
指針相關(guān)運算符:
下面介紹一下go語言中的if語句和switch語句。另外還有一種控制語句叫select語句,通常與通道聯(lián)用,這里不做介紹。
if語法格式如下:
if ... else :
else if:
示例代碼:
語法格式:
另外,添加 fallthrough 會強制執(zhí)行后面的 case 語句,不管下一條case語句是否為true。
示例代碼:
執(zhí)行結(jié)果:
下面介紹幾種循環(huán)語句:
執(zhí)行結(jié)果:
執(zhí)行結(jié)果:
也可以通過標記退出循環(huán):
--THE END--
以下代碼在VC6.0以上版本測試通過!
輸出結(jié)果:6
#include stdio.h
int main(void)
{
int a[2][2] = {{1,2}, {3,4}};
int b[2][2] = {{5,6}, {7,8}};
int (*p1)[2] = a;
int (*p2)[2] = b;
int (*q[2])[2] = {p1, p2}; 這樣才是正確的定義!
printf("%d\n", *(*q[1]+1));
return 0;
}
但在tc2.0和bc3.1中提示非法初始化!
但把
int (*q[2])[2] = {p1, p2};
改成
int (*q[2])[2];
q[0] = p1;
q[1] = p2;
可以通過!
原因暫不清楚,估計是老舊的編譯器不支持太復(fù)雜的定義!
其實最好的方法是使用typedef,簡單明了,可讀性大大提升!
#include stdio.h
int main(void)
{
typedef int (*PA)[2]; 使用typedef
int a[2][2] = {{1,2}, {3,4}};
int b[2][2] = {{5,6}, {7,8}};
int (*p1)[2] = a;
int (*p2)[2] = b;
PA q[2]= {p1, p2}; 這樣可讀性是否大大的增加?!
printf("%d\n", *(*q[1]+1));
return 0;
}
數(shù)組是一個由 固定長度 的 特定類型元素 組成的序列,一個數(shù)組可以由零個或多個元素組成。 數(shù)組是值類型
數(shù)組的每個元素都可以通過索引下標來訪問,索引下標的范圍是從0開始到數(shù)組長度減1的位置,內(nèi)置函數(shù) len() 可以返回數(shù)組中元素的個數(shù)。
2.類型的打印,結(jié)果的第二種打印方式
3.對元素的修改或者賦值
4.判斷數(shù)組是否相等:長度、類型
4.數(shù)組的地址:連續(xù)存儲的空間
5.數(shù)組的賦值、地址、取值
6.數(shù)組的默認值
7.數(shù)組的初始化
8.數(shù)組的逆置
9.求數(shù)組的最大值、最小值、平均值
10.對數(shù)組字符串進行連接
11.冒泡排序法的實現(xiàn)
12.數(shù)組做函數(shù)的參數(shù)
13.二維數(shù)組:賦值和地址
14.二維數(shù)組:打印和輸出
15. 指針數(shù)組,每一個元素都是地址
17.數(shù)組的內(nèi)存分配
1、數(shù)組是多個 相同類型 的數(shù)據(jù)的組合,一個數(shù)組一旦聲明/定義了,其 長度是固定的,不能動態(tài)變化 。
2、var arr []int? ? 這時arr就是一個slice 切片 。
3、數(shù)組中的元素可以是任何數(shù)據(jù)類型,包括值類型和引用類型,但是 不能混用 。
4、數(shù)組創(chuàng)建后,如果沒有賦值,有默認值如下:
? ? 數(shù)值類型數(shù)組:????默認值為 0
? ? 字符串數(shù)組:? ? ? ?默認值為 ""
? ? bool數(shù)組:? ? ? ? ? ?默認值為 false
5、使用數(shù)組的步驟:
? ? (1)聲明數(shù)組并開辟空間
? ? (3)給數(shù)組各個元素賦值
? ? (3)使用數(shù)組
6、數(shù)組的下標是從0開始的。
7、數(shù)組下標必須在指定范圍內(nèi)使用,否則報panic:數(shù)組越界,比如var arr [5]int的有效下標為0~4.
8、Go的數(shù)組屬于 值類型 ,在默認情況下是 值傳遞 ,因此會進行值拷貝。 數(shù)組間不會相互影響。
9、如想在其他函數(shù)中去修改原來的數(shù)組,可以使用 引用傳遞 (指針方式)。
10、長度是數(shù)組類型的一部分,在傳遞函數(shù)參數(shù)時,需要考慮數(shù)組的長度,看以下案例:
題1:編譯錯誤,因為不能把[3]int類型傳遞給[]int類型,前者是數(shù)組,后者是切片;
題2:編譯錯誤,因為不能把[3]int類型傳遞給[4]int類型;
題3:編譯正確,因為[3]int類型傳給[3]int類型合法。
文章題目:go語言怎么輸出數(shù)組 golang 數(shù)組操作
轉(zhuǎn)載來于:http://www.rwnh.cn/article2/dooceic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、云服務(wù)器、動態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站維護、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)