V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  necomancer  ›  全部回复第 26 页 / 共 32 页
回复总数  626
1 ... 18  19  20  21  22  23  24  25  26  27 ... 32  
2018-06-30 00:13:53 +08:00
回复了 a476286557 创建的主题 Python leetcode 两数之和 Python 求解答
EDIT:
1. [ (i, j) for i,x in enumerate(a) for j,y in enumerate(a) if i<j and x + y == target ]
2. [ idxes for idxes in ( (i, binary_search(a, target - x, i+1, n-1) ) for i, x in enumerate(a) ) if idxes[1] != -1 ]


def binary_search(arr, hkey, start, end):
....while start <= end:
........mid = start + (end - start) // 2
........if arr[mid] < hkey:
............start = mid + 1
........elif arr[mid] > hkey:
............end = mid - 1
........else:
............return mid
....return -1
2018-06-29 23:50:33 +08:00
回复了 a476286557 创建的主题 Python leetcode 两数之和 Python 求解答
假定数组是 a,长度是 n, [ (i, j) for i,x in enumerate(a) for j,y in enumerate(a) if x + y == target and i<j ] 比较直观,复杂度是 O(n^2),大致看了下,至少你的 a!=i 就不允许列表中出现重复元素;并且最后也少放了另一个元素 a 的标号在结果里。

第二个就是用 binary_search,当然,假定你的数组 a 是排好序的:

[ idxes for idxes in ( (i, binary_search(target - x, i+1, n)) for i, x in enumerate(a) ) if idxes[1] != -1 ],比如用楼上那个失败返回 -1 的 binary_search,这样是 O(nlog(n))
2018-06-08 09:51:42 +08:00
回复了 acone2003 创建的主题 Python 新手求教:怎样把两个列向量合并成一个 n*2 的矩阵?
np.vstack([a, b]).T
2018-06-07 21:24:51 +08:00
回复了 wt895442034 创建的主题 程序员 有没有和我一样撸代码只有在深夜的时候状态最好的
@takato 一般只是在弥补白天开着篇文献就一直在看剧刷新闻的羞耻心。。。
2018-06-03 14:25:03 +08:00
回复了 songdg 创建的主题 Python 如何将 1 个数组分割成相隔 1 的多个数组
In [1]: a = np.array([ 0, 1, 2, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 23, 24, 27, 28, 29, 30])

In [2]: np.split(a,np.argwhere(np.diff(a-np.arange(a.shape[0]))!=0).flatten()+1)
Out[2]:
[array([0, 1, 2, 3]),
array([ 6, 7, 8, 9, 10]),
array([12]),
array([14, 15, 16, 17, 18, 19]),
array([23, 24]),
array([27, 28, 29, 30])]
2018-05-31 15:45:07 +08:00
回复了 onetwo 创建的主题 程序员 谁给我一个明确的奋斗目标
学古典拉丁语。TTC latin 101,资料比较好搜。看到 20 几节课的时候买本韦洛克。我已经走出阴影,顺带着多了一门很装逼的技能,现在打算再好好学学意大利语,用手机的多邻国应用。学一阵会感觉多很多自信,在有时间空余和寂寞的时候也有个可以思考的目标,目前感觉工作什么都顺利了很多。
2018-05-01 12:48:23 +08:00
回复了 webjin1 创建的主题 Python 这个用 Python 怎么写?
A = np.array([[1,1,0,0],[0,0,1,-1],[1,0,1,0],[0,1,0,1]])
b = np.array([8,6,13,8])
np.linalg.sovle(A,b)

你是想写程序把这个方程的 A,b 求出来吗?
2018-04-29 22:54:07 +08:00
回复了 letianqiu 创建的主题 程序员 一道算法题求助。
嗯……也许可以更 numpy 一点:
Cij = Cij[:, np.argsort(p)]
p = p[np.argsort(p)] # 价格和接受能力从低到高排序
d = (Cij - p) >0
sum([p[_][-1] for _ in d]) #每个客户都买可接受的最贵产品。如果允许一个客户重复购买,不允许多个客户重复购买某商品是不是没意义……我有点脑残。
2018-04-29 22:34:56 +08:00
回复了 letianqiu 创建的主题 程序员 一道算法题求助。
先对价格排序,然后从最大价格商品起(不应该是 Cij >= Pj 才买么……),对 Ci 进行遍历,如果商品能重复卖出,那么所有能承受最大价格的都买下最大价格的商品,然后价格第二大的商品……
s=0
for p in sorted(P)[::-1]:
....for i,c in enumerate(Cij):
........if (p<=c).any():
............s += p
............Cij[i]=-1 # 买过一次就不能再买
............break # 如果商品也不能重复

方法笨了点,我自己生成了几个好像可以……用的是 numpy 数组的写法。
2018-04-27 17:06:56 +08:00
回复了 rwdy2008 创建的主题 程序员 一道有趣的编程题
有意思。我的解决方案是先算不定方程,求出来所有可能组合,然后对每个组合算全排列(distin with duplicate)……也就是 112 的排列只有 112,121,211 这样。这个排列很耗时……
2018-04-27 00:20:17 +08:00
回复了 choulinlin 创建的主题 游戏 猎魔人英文版小说
亚马逊有全套。英文我看了最后愿望和命运之剑,也看了中译,感觉都不错~
首推巫师系列(故事),巫师 3 (最近),然后刺客信条系列(故事),刺客信条起源、bug 命,伦敦黑社会(枭雄,都是近年),黑魂,gta5,废土(捡垃圾 4 )古墓丽影 9,10,电影剧情改编 9,fps 有彩虹 6 号
2018-04-26 20:16:03 +08:00
回复了 luozhiyun 创建的主题 程序员 请问各位程序员有啥好笔记本推荐吗?
dell precision 系列?
2018-04-26 15:54:41 +08:00
回复了 jacketma 创建的主题 数学 澳门赌王之子何猷君 - 最强大脑第一轮 PK 数字华容道秒灭全场
@Biebe 性感荷官在线发牌!!!
2018-04-26 15:51:57 +08:00
回复了 MiLoucius 创建的主题 Python conda 与 pip 不能共存
conda clean --all 有木有效果?
2018-04-26 15:47:05 +08:00
回复了 Lanedo 创建的主题 程序员 “世界只有两种程序员,一种……,一种……。”
一种是自己和另一种不相交(互斥)的,一种是自己和另一种相交的。
2018-04-10 13:56:44 +08:00
回复了 holajamc 创建的主题 Linux 求推荐 Linux 下的代理工具
softethervpn 如果服务器支持的话。
2018-04-09 16:53:21 +08:00
回复了 adminxc 创建的主题 程序员 打算入一款商务本,有什么推荐的呢。。预算 7k 以下
7k 左右,小点的 xps 13, latitude 72xx,thinkpad x270,大点的 thinkpad t 系列,latitude 7390 之类的
2018-04-04 17:29:08 +08:00
回复了 dwjgwsm 创建的主题 Python 为什么我用 numba 速度不升反降?
@DSaAAiC 我不是大佬……而且这个问题不能算生僻吧,移动平均,尤其是带有窗口函数的移动平均,遇到得应该还是很多的。我其实看到“移动平均”第一反应是“这其实是个卷积的问题”,当然这么想问题也会复杂化,卷积是 o(n*k),当然一些大窗口体系还能用更快的 fftconvole ……扯远了,知道 NumPy 里都有啥好玩儿的需要一定的数学基础吧,我感觉,把遇到的问题能比较“数学地”进行描述,NumPy/SciPy 总会有惊喜。一般来说都是 Google 一下 问题+scipy 就会看到好玩儿的函数在下面贴着。
1 ... 18  19  20  21  22  23  24  25  26  27 ... 32  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2827 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 14:25 · PVG 22:25 · LAX 06:25 · JFK 09:25
Developed with CodeLauncher
♥ Do have faith in what you're doing.