给定一个整数数组A,N我们N在2D平面中绘制光盘,使得第i个光盘具有中心(0,i)和半径A[i].如果第k个和第j个盘具有至少一个公共点,我们说第k个盘和第j个盘相交.
写一个函数
int number_of_disc_intersections(int[] A);
Run Code Online (Sandbox Code Playgroud)
给出如上所述的A描述N盘的阵列,返回交叉盘对的数量.例如,给定N=6和
A[0] = 1
A[1] = 5
A[2] = 2
A[3] = 1
A[4] = 4
A[5] = 0
Run Code Online (Sandbox Code Playgroud)
共有11对交叉盘:
0th and 1st
0th and 2nd
0th and 4th
1st and 2nd
1st and 3rd
1st and 4th
1st and 5th
2nd and 3rd
2nd and 4th
3rd and 4th
4th and 5th
Run Code Online (Sandbox Code Playgroud)
所以函数应该返回11.如果相交对的数量超过10,000,000,函数应该返回-1.该函数可以假设N不超过10,000,000.
我的代码:
from numpy import *
def pca(orig_data):
data = array(orig_data)
data = (data - data.mean(axis=0)) / data.std(axis=0)
u, s, v = linalg.svd(data)
print s #should be s**2 instead!
print v
def load_iris(path):
lines = []
with open(path) as input_file:
lines = input_file.readlines()
data = []
for line in lines:
cur_line = line.rstrip().split(',')
cur_line = cur_line[:-1]
cur_line = [float(elem) for elem in cur_line]
data.append(array(cur_line))
return array(data)
if __name__ == '__main__':
data = load_iris('iris.data')
pca(data)
Run Code Online (Sandbox Code Playgroud)
虹膜数据集:http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data
输出:
[ 20.89551896 …Run Code Online (Sandbox Code Playgroud) 我正在评估一个简单的函数:
y = (2*x)/sqrt( 1 + x.^2 );
Run Code Online (Sandbox Code Playgroud)
其中x包含大约100个值的向量在哪里.但是,y在这种情况下,MATLAB 等于单个标量值.如果我做:
y = 2*x;
Run Code Online (Sandbox Code Playgroud)
我y按预期得到了一个值向量.如果我做:
y = x.^2;
Run Code Online (Sandbox Code Playgroud)
我也y按预期得到了一个值向量.
为什么上面的等式y = (2*x)/sqrt( 1 + x.^2 );给出单个值而不是值向量?
我读了维基百科对幂等性的解释.我知道这意味着函数的输出是由它的输入决定的.但我记得我听过一个非常相似的概念:纯粹的功能.我谷歌他们但找不到他们的区别......
它们是等价的吗?
我遇到的问题描述有点复杂,我会提供更完整的信息.对于不耐烦的人,这是我可以总结的最简单的方法:
抛出换行符时,将文本文件拆分为大小为N(绑定N,例如36)的所有(重叠)子串的最快(最短执行时间)方式是什么.
我正在编写一个模块,用于解析基于FASTA ascii的基因组格式的文件.这些文件包含所谓的'hg18'人类参考基因组,如果您愿意,可以从UCSC基因组浏览器(go slugs!)下载.
正如您将注意到的,基因组文件由chr [1..22] .fa和chr [XY] .fa组成,以及一组未在此模块中使用的其他小文件.
已经存在几个用于解析FASTA文件的模块,例如BioPython的SeqIO.(对不起,我发布了一个链接,但我还没有这么做.)不幸的是,我能找到的每个模块都没有做我想做的具体操作.
我的模块需要将基因组数据(例如,'CAGTACGTCAGACTATACGGAGCTA'可以是一条线)分成每个重叠的N长度子串.让我举一个例子,使用一个非常小的文件(实际的染色体文件长度在355到2000万个字符之间),N = 8
>>>import cStringIO
>>>example_file = cStringIO.StringIO("""\
>header
CAGTcag
TFgcACF
""")
>>>for read in parse(example_file):
... print read
...
CAGTCAGTF
AGTCAGTFG
GTCAGTFGC
TCAGTFGCA
CAGTFGCAC
AGTFGCACF
我发现的功能从我能想到的方法中获得了绝对最佳的性能:
def parse(file):
size = 8 # of course in my code this is a function argument
file.readline() # skip past the header
buffer = ''
for line in file:
buffer += line.rstrip().upper()
while len(buffer) >= size:
yield buffer[:size]
buffer = …Run Code Online (Sandbox Code Playgroud) 在Mac上使用Eclipse总是让我感到沮丧的一件事是需要Alt或Option键的键盘映射.我习惯在Linux环境中使用Eclipse,并且在映射中使用该键不是问题.但是,在Mac上,它的目的是输入特殊字符.
有没有办法切换它,以便Eclipse的默认键映射正常工作?
我经常使用Alt+ Shift+ C,Alt+ Shift+ T和其他几个命令,而不能让我慢下来.我也想使用我习惯的东西,以便切换环境更加透明.
在页面中包含CSS的最佳方法是什么?为什么?
例如:
<style type="text/css">
@import "style.css" screen, tv;
@import "print.css" print;
@import "iphone.css" iphone;
</style>
Run Code Online (Sandbox Code Playgroud)
要么
<LINK rel="stylesheet" media="screen" href="style.css" type="text/css" />
<LINK rel="stylesheet" media="print" href="print.css" type="text/css" />
<LINK rel="stylesheet" media="iphone" href="iphone.css" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
据我所知@import,在古代浏览器中不起作用,这可能是一个优势,因为这些浏览器只显示文本而不是不可读的CSS混乱(使用链接时).
我想知道Thread.interrupt()和Thread.currentThread.interrupt()是做同样的事情还是会给出相同的结果?如果没有,有什么区别?
类似的问题是:Thread.sleep()和Thread.currentThread.sleep()之间的区别是什么,因为它们似乎有同样的意义?
我发现自己需要为我的软件工程课学习一点JSP.我们的一个功课问题如下:
What are the output of these two code snippets if the parameter "myText" has the
value "JSP is fun"?
<% request.getParameter("myText"); %>
...and...
<%= request.getParameter("myText") %>
Run Code Online (Sandbox Code Playgroud)
这是我的答案:
第一行代码片段应正确返回"JSP is Fun".
第二行代码也应正确返回"JSP is Fun",因为它是一个表达式,这意味着它不需要使用分号来正常运行(并且不能使用分号).
我错过了一些明显的东西,或者这个相对简单的问题真的没有了吗?
我在Windows7 64bit上使用gVim 7.3和ruby 1.9.2
在我将Omni完成函数设置为rubycomplete#Complete后,使用内置rubycomplete.vim
每当我打电话给Omni完成时,vim就会崩溃.
调试消息是:访问冲突读取位置0x00000020.
有谁知道什么可能导致这个问题?或者我应该将ruby降级到可以避免这个bug的1.8.7?