熊娃这学年AP CS 课, 给我出了道小题。 各位大拿牛娃也没事练练手,不知道我的答案对不对

来源: 眼镜 2021-01-18 18:40:47 [] [旧帖] [给我悄悄话] 本文已被阅读: 次 (61 bytes)
本文内容已被 [ 眼镜 ] 在 2021-01-18 18:47:43 编辑过。如有问题,请报告版主或论坛管理删除.

非常简单--找十个数里面最大的两个。

所有跟帖: 

你不需要琢磨这东西吧。 -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 18:48:56

山不容二虎,家不可二主,天没有二日,女不嫁二夫 -宝马奔驰- 给 宝马奔驰 发送悄悄话 (50 bytes) () 01/18/2021 postreply 19:03:06

跟你这宝马奔驰不一样, 就是T1, T2. 我可能没讲清楚 -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:07:52

直接排序呗 -Leileima- 给 Leileima 发送悄悄话 Leileima 的博客首页 (201 bytes) () 01/18/2021 postreply 19:12:33

我脚着要是给公司写code, 多数这样做。 一call sort, 前两个立马出来了。 但这一定有浪费啊 -眼镜- 给 眼镜 发送悄悄话 (72 bytes) () 01/18/2021 postreply 19:15:26

那两个两个比较找大的一个呢? -Leileima- 给 Leileima 发送悄悄话 Leileima 的博客首页 (0 bytes) () 01/18/2021 postreply 19:17:44

应该有不同的做法吧。 但是最有效率的是做出来读取和比较的次数最少 -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:19:41

您哪最快是nlog(n)吧 , hash 用不上啊 -12度圆缺- 给 12度圆缺 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:22:29

随机分成两组,排序挑每组最大的,互相比,然后拿小的那个比大的那个组的第二。 -终于不潜水了- 给 终于不潜水了 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:24:11

你这个跟我做的不一样。 也许会比我的好 :) -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:26:03

三个数里踢出最小的 -lookforward- 给 lookforward 发送悄悄话 lookforward 的博客首页 (0 bytes) () 01/18/2021 postreply 19:25:33

差不多是这个意思 -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:26:45

Scan 一遍,赋值两个变量,不就好了 ?O(n)级,没有更低的了 -12度圆缺- 给 12度圆缺 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:20:01

+1 -BlackHawk8- 给 BlackHawk8 发送悄悄话 (0 bytes) () 01/18/2021 postreply 20:30:36

两个变量可以这么做。但推广到最大K个的话,是O(N*K). -cxhgdd- 给 cxhgdd 发送悄悄话 (0 bytes) () 01/19/2021 postreply 00:38:05

我的做法 -眼镜- 给 眼镜 发送悄悄话 (415 bytes) () 01/18/2021 postreply 19:36:11

不就是冒泡排序 -宗阕- 给 宗阕 发送悄悄话 宗阕 的博客首页 (0 bytes) () 01/18/2021 postreply 19:43:10

关键是要偶尔冒泡或者说不常冒泡, 否则浪费 :) -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:46:25

最好要戴上眼镜,否则会拿错。 -不常冒泡- 给 不常冒泡 发送悄悄话 (0 bytes) () 01/18/2021 postreply 20:07:14

哈哈 -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 20:11:54

两种比法哪个好? -宝马奔驰- 给 宝马奔驰 发送悄悄话 (495 bytes) () 01/18/2021 postreply 20:14:26

你的可能统计意义上更好一点, 做的细 -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 20:20:36

你是错滴 -12度圆缺- 给 12度圆缺 发送悄悄话 (89 bytes) () 01/18/2021 postreply 20:51:01

难道需要debug? 没觉得我的逻辑有问题啊。 愿闻其详 -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 21:14:11

Initialize T1=max(n0,n1);T2=min(n0,n1) -12度圆缺- 给 12度圆缺 发送悄悄话 (0 bytes) () 01/18/2021 postreply 21:38:55

那也没问题啊。没看出来。你接着说 -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 21:42:28

我missed 大的放T1. -12度圆缺- 给 12度圆缺 发送悄悄话 (0 bytes) () 01/18/2021 postreply 21:54:42

我的笨办法 -静听秋雨- 给 静听秋雨 发送悄悄话 静听秋雨 的博客首页 (223 bytes) () 01/18/2021 postreply 19:43:44

变成数组了 -宗阕- 给 宗阕 发送悄悄话 宗阕 的博客首页 (0 bytes) () 01/18/2021 postreply 19:47:53

A是2N,B是Nlog(N),可以一次iteration,i.e. N解决 -lhan- 给 lhan 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:47:55

不光是order, 比较的次数也应该最少才好 -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 19:50:57

二分法? -古代的事物- 给 古代的事物 发送悄悄话 (584 bytes) () 01/18/2021 postreply 21:29:57

花哨啊。 数清楚比几次了么? 反正我数不清你这个两分法 :) -眼镜- 给 眼镜 发送悄悄话 (0 bytes) () 01/18/2021 postreply 22:05:39

请您先登陆,再发跟帖!