楼主: sanguine
跳转到指定楼层
上一主题 下一主题
收起左侧

[Coursera] Algorithms (princeton) (week3) 讨论帖

🔗
jaly50 2014-3-4 21:51:02 | 只看该作者
全局:
% java Fast input6.txt

[testing standard output]
(14000, 10000) -> (18000, 10000) -> (19000, 10000) -> (21000, 10000) -> (32000, 10000)

[testing standard drawing]
      -  student   solution has 4 non-null entries
      -  reference solution has 1 non-null entries
      -  3 extra entries in student solution, including: (14000, 10000) -> (32000, 10000)


我当时明明Fast输出对的,却提示错误。

原因在于,我把p.drawto(最大点)放在循环内,所以画了好多条重合的线。(重合的线当然自己检查不出来)
=。=愚蠢的自己一是犯了愚蠢的错误
二是这个错误声明居然看不懂!!!


以及,用draw的时候,有人一开始调可能会发现,那个draw板上怎么什么都没有(好吧这就是缺心眼的我)
那是因为 作业说明里要求我们把坐标调到x和Y都是(0,三万多)
如果我们只自己自己选两个(0-10,0-10)的点输出的话。。
点和线都太小太短了。。所以看不见!=。=
回复

使用道具 举报

🔗
 楼主| sanguine 2014-3-4 21:51:18 | 只看该作者
全局:
jaly50 发表于 2014-3-4 21:45
终于做完了,谢谢readman大神的不吝指导。
哪怕这次比较简单还是折腾了好久。
>

明天中期答辩完我也要赶快写了%>_<%我真TM能拖。。。
回复

使用道具 举报

🔗
jaly50 2014-3-4 21:58:24 | 只看该作者
全局:
sanguine 发表于 2014-3-4 21:51
明天中期答辩完我也要赶快写了%>_

加油加油 快点来写作业指导我
我week4可能也要放一放了
下周一跟老师讨论毕业论文
一周以前布置的任务还没开始做...
现在做完week3,我要开始动毕业论文了
回复

使用道具 举报

🔗
 楼主| sanguine 2014-3-4 22:02:25 | 只看该作者
全局:
jaly50 发表于 2014-3-4 21:58
加油加油 快点来写作业指导我
我week4可能也要放一放了
下周一跟老师讨论毕业论文

我的毕设简直苦逼,搞得我想实习都没时间……

PS!你的签名是不是看了Stanford春晚-=。=

点评

加油加油 苦逼的事情做了更有收获~~ 我没看那个春晚哈,是看别人的段子,觉得很有趣~~ 就不在这个贴子里水了 所以用点评  发表于 2014-3-5 14:19
回复

使用道具 举报

🔗
zplxcxyc 2014-3-15 12:15:15 | 只看该作者
全局:
jaly50 发表于 2014-3-4 21:45
终于做完了,谢谢readman大神的不吝指导。
哪怕这次比较简单还是折腾了好久。
>

我现在写到第三个作业有点小疑问,不知道可不可以问问你。主要是Fast.java的思路问题,我用了Arrays.sort(points, p.SLOPE_ORDER),剩下的怎么也解决不了。。。怎么样才能避免重复draw呢?要用partition来找duplicate吗?
回复

使用道具 举报

🔗
jaly50 2014-3-15 21:17:43 | 只看该作者
全局:
zplxcxyc 发表于 2014-3-15 12:15
我现在写到第三个作业有点小疑问,不知道可不可以问问你。主要是Fast.java的思路问题,我用了Arrays.sort ...

用两个数组  第一个数组把那些点 从小到大排   
for (int i = 0; i < N; i++){
   Point p = points[i];  
第二个数组 再按斜率排
for (int j = 0; j < N; j++)
    temp[j] = points[j]; //copy the array to order by slope
   Arrays.sort(temp, p.SLOPE_ORDER);
draw的时候,只draw点大于p 的  
回复

使用道具 举报

🔗
zplxcxyc 2014-3-16 00:22:15 | 只看该作者
全局:
jaly50 发表于 2014-3-15 21:17
用两个数组  第一个数组把那些点 从小到大排   
for (int i = 0; i < N; i++){
   Point p = points;  ...

draw的时候只draw在哪里大于p的点??
回复

使用道具 举报

🔗
jaly50 2014-3-16 00:36:46 | 只看该作者
全局:
zplxcxyc 发表于 2014-3-16 00:22
draw的时候只draw在哪里大于p的点??

第一个数组按大小排了序了 在第一个循环 每个点设为p
所以后来draw的时候,除了确保slope一致外,只draw 比P大的点 保证 temp[first].compareTo(p) > 0

这样子就不会重复啦!
回复

使用道具 举报

全局:
不好意思各位 我最近做第三次作业
最后出来其他都没问题
只有一个错误Test 7 (stdraw): Check that each point is drawn exactly once 没有通过,有人知道这是啥意思嘛??
FAST和BRUTE都没通过这个测试!
回复

使用道具 举报

🔗
ifso 2014-4-11 09:21:36 | 只看该作者
全局:
majiamajia 发表于 2014-4-9 14:18
不好意思各位 我最近做第三次作业
最后出来其他都没问题
只有一个错误Test 7 (stdraw): Check that each  ...

Also, draw the points using draw() and draw the line segments using drawTo(). Your programs should call draw() once for each point in the input file and it should call drawTo() once for each line segment discovered. Before drawing, use StdDraw.setXscale(0, 32768) and StdDraw.setYscale(0, 32768) to rescale the coordinate system.

你看看你的程序是不是哪里没有满足这段要求~每个点都要画并且只能画一次。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表