买新车如何让dealer直接竞价?

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
H1B/绿卡遥遥无期
又不想回国
来东南亚最大的互联网集团工作?
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 729|回复: 11
收起左侧

[算法题] 请问有人用python AC leetcode149题么?求答案

[复制链接] |试试Instant~ |关注本帖
我的人缘0
qlshun 发表于 2017-10-31 05:28:18 | 显示全部楼层 |阅读模式
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
我自己怎么都通不过全部test case,貌似python的精度不够啊

上一篇:地图上分割成不同区域这个设计题的核心是什么来着?
下一篇:关于Subsets中deep copy的问题
我的人缘0
jason123 发表于 2017-11-2 16:29:16 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
是的,精度不够,你可以import numpy 用 longdouble
回复 支持 反对

使用道具 举报

全球28万学生4.7分推荐
我的人缘0
 楼主| qlshun 发表于 2017-11-2 23:08:36 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
jason123 发表于 2017-11-2 16:29
是的,精度不够,你可以import numpy 用 longdouble

非常感谢你的回复,请问你的code能AC么?我用了longdouble还是不能ac
回复 支持 反对

使用道具 举报

我的人缘0
greenmoon55 发表于 2017-11-2 23:59:19 | 显示全部楼层
  此人我要顶:
 
33% (0) 【我投】
  此人我要踩:
 
67% (3) 【我投】
leetcode还可以import numpy??
回复 支持 反对

使用道具 举报

我的人缘0
jason123 发表于 2017-11-3 15:04:37 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
qlshun 发表于 2017-11-2 23:08
非常感谢你的回复,请问你的code能AC么?我用了longdouble还是不能ac

我的可以
k = np.longdouble((points.y - points[j].y))/np.longdouble((points.x - points[j].x))
if k in slopPointsMap:
    slopPointsMap[k] += 1
else:
    slopPointsMap[k] = 2
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| qlshun 发表于 2017-11-6 09:07:29 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
greenmoon55 发表于 2017-11-2 23:59
leetcode还可以import numpy??

你想import 什么都可以,只要加在最前面就可以了
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| qlshun 发表于 2017-11-6 09:11:11 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
jason123 发表于 2017-11-3 15:04
我的可以
k = np.longdouble((points.y - points[j].y))/np.longdouble((points.x - points[j].x))
if  ...

万分感谢你,我用了你的方法真的AC了
回复 支持 反对

使用道具 举报

我的人缘0
jason123 发表于 2017-11-7 16:04:34 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
qlshun 发表于 2017-11-6 09:11
万分感谢你,我用了你的方法真的AC了

不客气
回复 支持 反对

使用道具 举报

我的人缘0
ivanyang 发表于 2017-11-8 02:43:05 | 显示全部楼层
  此人我要顶:
 
61% (12) 【我投】
  此人我要踩:
 
39% (9) 【我投】
用numpy略违规了其实,我的思路是求最简分数作key而不是浮点数
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| qlshun 发表于 2017-11-8 04:18:03 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
ivanyang 发表于 2017-11-8 02:43
用numpy略违规了其实,我的思路是求最简分数作key而不是浮点数

是嘛,能不能说的更详细点或贴一段代码学习下啊
回复 支持 反对

使用道具 举报

我的人缘0
ivanyang 发表于 2017-11-8 04:22:32 | 显示全部楼层
  此人我要顶:
 
61% (12) 【我投】
  此人我要踩:
 
39% (9) 【我投】
qlshun 发表于 2017-11-8 04:18
是嘛,能不能说的更详细点或贴一段代码学习下啊
  1. # Definition for a point.
  2. # class Point(object):
  3. #     def __init__(self, a=0, b=0):
  4. #         self.x = a
  5. #         self.y = b

  6. class Solution(object):
  7.     def maxPoints(self, points):
  8.         """
  9.         :type points: List[Point]
  10.         :rtype: int
  11.         """
  12.         l = len(points)
  13.         ret = 0
  14.         def gcd(a, b):
  15.             if b == 0:
  16.                 return a
  17.             return gcd(b, a % b)
  18.         for i in range(len(points)):
  19.             same = 0
  20.             vertical = 0
  21.             his = 0
  22.             count = 0
  23.             d = dict()
  24.             for j in range(i + 1, l):
  25.                 nowx = (points[j].x - points[i].x)
  26.                 nowy = (points[j].y - points[i].y)
  27.                 if nowx == 0:
  28.                     if nowy == 0:
  29.                         same += 1
  30.                     else:
  31.                         vertical += 1
  32.                 elif nowy == 0:
  33.                     his += 1
  34.                 else:
  35.                     haha = gcd(abs(max(nowx, nowy)), abs(min(nowx, nowy)))
  36.                     nowx /= haha
  37.                     nowy /= haha
  38.                     if nowx < 0 and nowy > 0:
  39.                         nowx = -nowx
  40.                         nowy = -nowy
  41.                     elif nowx < 0 and nowy < 0:
  42.                         nowx = -nowx
  43.                         nowy = -nowy
  44.                     if str((nowx, nowy)) not in d:
  45.                         d[str((nowx, nowy))] = 1
  46.                     else:
  47.                         d[str((nowx, nowy))] += 1
  48.                     count = max(count, d[str((nowx, nowy))])
  49.             same += max(count, vertical, his) + 1
  50.             ret = max(ret, same)
  51.         return ret
复制代码
我的代码非常乱,仅供参考
回复 支持 反对

使用道具 举报

我的人缘0
painkillerA1 发表于 2017-11-8 07:36:49 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
用numpy不算违规,这道题不能AC的原因完全在于Python自己对于浮点数的一些设计,楼上那样解决了自然最好,没解决的话我觉得面试完全可以跟面试官说一下临时用个Java什么的,而且一般面试不都白板么,我记得这题不过的也就是一两个边边角角的测试用例
回复 支持 反对

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /3 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-6-22 11:58

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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