Re: [閒聊] 每日LeetCode

作者: oin1104 (是oin的說)   2023-11-01 16:25:22
剛好沒課 想說來寫寫看
結果第一題我就不知道出啥問題了
所以是出啥問題啊
我不太熟指標
題目:
給你一個陣列跟目標數字
找到陣列裡加起來跟目標數字一樣的兩個數字
回答他在哪裡
https://i.imgur.com/5j9MXqH.png
int* twoSum(int* nums, int numsSize, int target, int* returnSize)
{
for ( int i = 0 ; i < numsSize ; i ++ )
{
for ( int j = 0 ; j < numsSize ; j ++ )
{
if(j != i)
{
if((nums[i]+nums[j]) == target)
{
printf("[%d,%d]",i,j);
break;
}
}
}
}
return 0;
}

很白痴的方法
對ㄚ
作者: ZooseWu (N5)   2023-11-01 16:27:00
自己先想過一遍解法 再去看別人思路 就會學到東西 加油
作者: oin1104 (是oin的說)   2023-11-01 16:27:00
我去其他地方弄應該是對的 我怎麼錯了 我流淚了
作者: digua (地瓜)   2023-11-01 16:28:00
大師
作者: ZooseWu (N5)   2023-11-01 16:28:00
環境不一樣會有差吧 我對C也不熟
作者: h0103661 (路人喵)   2023-11-01 16:30:00
c的int不能在for迴圈裡面宣告
作者: szymwf (szymwf)   2023-11-01 16:31:00
你的break只會跳出第一層迴圈 這樣你每次都會印兩個答案出來
作者: h0103661 (路人喵)   2023-11-01 16:32:00
作者: oin1104 (是oin的說)   2023-11-01 16:33:00
那個int i,j只是拿來計數的 迴圈裡面應該都能用ㄅ 應該可以印出來挖 哭啊 改一下那我再加一個break
作者: wu10200512 (廷廷)   2023-11-01 16:36:00
老哥你超時了 這樣不算刷過
作者: oin1104 (是oin的說)   2023-11-01 16:37:00
為什麼會超時阿 我才兩層欸 我哭了
作者: wu10200512 (廷廷)   2023-11-01 16:37:00
兩層就O(n^2) 爛到流湯你去看一下其他人怎麼解吧
作者: h0103661 (路人喵)   2023-11-01 16:38:00
沒有超時啦,runtime error是執行錯誤,超時是tle
作者: ZooseWu (N5)   2023-11-01 16:38:00
不是超時 是回傳0錯誤 要把答案回傳回去
作者: wu10200512 (廷廷)   2023-11-01 16:38:00
還有你確定要用純c嗎 你之後stl容器都不能用 我覺得你頭會裂開
作者: Che31128 (justjoke)   2023-11-01 16:40:00
這題用兩層是最慢的解法 對啊還有你不用cpp嗎學校要教什麼跟你自己學的沒衝突吧
作者: oin1104 (是oin的說)   2023-11-01 16:42:00
我想說先跟著學校學 所以就直接c了我之後應該會學別的
作者: ZooseWu (N5)   2023-11-01 16:42:00
他連資料結構演算法都不會的話 你要他自學新語言有難度第一款學好之後 再開始學其他的會比較好上手
作者: oin1104 (是oin的說)   2023-11-01 16:43:00
我剛開始碰指標演算法那些可能要一陣子之後才會碰
作者: AquaCute (水色銅碲)   2023-11-01 16:45:00
我也來寫寫看好惹話說這是第幾題?抱歉看到惹 還真的是第1題
作者: oin1104 (是oin的說)   2023-11-01 16:48:00
Two Sum
作者: lovez04wj06 (車前草)   2023-11-01 16:53:00
反正看到陣列要加速就取用查表的方式去做D:
作者: oin1104 (是oin的說)   2023-11-01 16:54:00
我看他詳解好像差不多是直接查“x-那個數字” 然後我還在那邊雙層迴圈 哈
作者: AquaCute (水色銅碲)   2023-11-01 17:12:00
發現問題點了 *returnSize不管會free()太多要加 *returnSize = 2;

Links booklink

Contact Us: admin [ a t ] ucptt.com