作者:
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也不熟
作者:
szymwf (szymwf)
2023-11-01 16:31:00你的break只會跳出第一層迴圈 這樣你每次都會印兩個答案出來
作者:
oin1104 (是oin的說)
2023-11-01 16:33:00那個int i,j只是拿來計數的 迴圈裡面應該都能用ㄅ 應該可以印出來挖 哭啊 改一下那我再加一個break
作者:
oin1104 (是oin的說)
2023-11-01 16:37:00為什麼會超時阿 我才兩層欸 我哭了
兩層就O(n^2) 爛到流湯你去看一下其他人怎麼解吧
沒有超時啦,runtime error是執行錯誤,超時是tle
作者:
ZooseWu (N5)
2023-11-01 16:38:00不是超時 是回傳0錯誤 要把答案回傳回去
還有你確定要用純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我剛開始碰指標演算法那些可能要一陣子之後才會碰
我也來寫寫看好惹話說這是第幾題?抱歉看到惹 還真的是第1題
作者:
oin1104 (是oin的說)
2023-11-01 16:48:00Two Sum
作者:
oin1104 (是oin的說)
2023-11-01 16:54:00我看他詳解好像差不多是直接查“x-那個數字” 然後我還在那邊雙層迴圈 哈
發現問題點了 *returnSize不管會free()太多要加 *returnSize = 2;