java 板


LINE

大家好,我初学Java没多久,最近遇到一个问题。假设有一个 array 里面的数字不重复 ,任意给定一个数字,在不用回圈的情形下要怎麽算此 array 的长度呢?我目前是想到 用 recursion ,可是我写的结果都没有成功 orz,麻烦各位大大解惑 用回圈的程式如下: int length(int [] s, int x) int l; int y = x; while (true) { if (s[x] == y) { return l; } x = s[x]; ++l; } } --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 174.62.87.50
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1500271644.A.9D6.html
1F:→ ssccg: array.length? 07/17 14:13
2F:→ ssccg: 你要算的长度到底是什麽东西 07/17 14:15
3F:→ kasey: 就是array.length 但是不能用array.length()也不能用回圈.. 07/17 14:17
4F:→ kasey: . 07/17 14:17
5F:→ ssccg: array的长度跟array的内容有关系? 你这是解题目的话至少完 07/17 14:25
6F:→ ssccg: 整描述题目吧... 不然为什麽不用array.length 07/17 14:26
7F:推 s06i06: 没看懂题目在说什麽 算长度参数传一个x干嘛 07/17 14:29
8F:→ kasey: 测试用的 array s 里的元素是不重复的数字。如果长度是6, 07/17 14:32
9F:→ kasey: 则数字是0~5任意排列。 07/17 14:32
10F:→ ssccg: 所以要求的是array内容的最大值? 另外你说不能用回圈那你的 07/17 14:39
11F:→ ssccg: while是? 07/17 14:39
12F:→ kasey: 要求的是 array 的长度,int x 是一开始先丢一个任意0~5的 07/17 14:43
13F:→ kasey: 数字进去。while 是题目给的示范,但是有另外要求不能用回 07/17 14:43
14F:→ kasey: 圈写 07/17 14:43
15F:→ kasey: 但是函式还是 int length(int [] s, int x),只是内容不能 07/17 14:45
16F:→ kasey: 用回圈 07/17 14:45
17F:→ ssccg: 我觉得题目看起来是求存在array里的circular linked list长 07/17 14:51
18F:→ ssccg: 度,不是array的长度,x代表的是这个list的head pointer 07/17 14:51
19F:→ kasey: 唔... 这麽一说感觉有点像。 07/17 15:07
20F:→ kasey: 那如果从他给的示范改成递回的形式,该怎麽改好呢? 07/17 15:23
21F:→ ssccg: int len(int[] s, int x, int y) { 07/17 15:56
22F:→ ssccg: return s[x] == y ? 1 : 1 + len(s, s[x], y); } 07/17 15:58
23F:→ ssccg: length内容为 return len(s, x, x) 07/17 15:58
24F:→ ssccg: 要跟你的版本一样的话条件成立时要return 0,不过我觉得 1 07/17 16:05
25F:→ ssccg: 的结果才合理,这题目head不会是null所以至少一个node 07/17 16:06
26F:→ kasey: 谢谢。可是有办法用 int len(int[] s, int x) 写吗?我目前 07/18 01:28
27F:→ kasey: 依他的条件找不到好方法存第一个 x 去比较 07/18 01:28
28F:推 Schaos: 你可以在递回前留一份啊,题目没限制变数数量。 07/18 02:01
29F:→ kasey: 变数只能写在length()里,可是都会被update... 不太晓得该 07/18 02:14
30F:→ kasey: 怎麽留 07/18 02:14
31F:→ ssccg: 一定需要的东西想办法塞进参数里,需要记下来的放在local 07/18 10:15
32F:→ ssccg: variable 07/18 10:15
33F:→ ssccg: 其实题目 ONLY AFTER ... 那句是很大的提示了 07/18 10:32







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP