我想做的事
我想找到一个与目标相加的数组的子集T.我还想使用动态编程方法(以及自下而上的解决方案)来做到这一点.
我现在有什么
目前我只找到一种方法来查看是否在所有大小的子集中N,是否存在至少一个具有所需总和的子集.见下面的代码.
public boolean solve(int[] numbers, int target) {
//Safeguard against invalid parameters
if ((target < 0) || (sum(numbers) < target)){
return false;
}
boolean [][] table = new boolean [target + 1] [numbers.length + 1] ;
for (int i = 0; i <= numbers.length; ++i) {
table[0][i] = true;
}
/* Base cases have been covered.
* Now look set subsets [1..n][target] to be true or false.
* n represents the number of …Run Code Online (Sandbox Code Playgroud) 我想做什么
我正在尝试提取2012年和2013年在某个城市发生的所有公开 Facebook事件的列表.此外,对于每个事件,我想提取以下内容:
到目前为止我尝试过的
我一直在图浏览器中尝试以下查询
search?q={Oslo}& [type={event}](#searchtypes)
Run Code Online (Sandbox Code Playgroud)
我现在忽略了日期范围约束.我想我以后可以解决这个问题.
问题
这是列出状态更新(故事),地点和其他所有内容,并将其作为JSON对象返回.但是,这不会提供我所需的所有数据字段.有任何想法吗?
边注
我试过调查FQL,但显然不能做这样的搜索?(如果可以,请随时提供帮助).我得到的最接近的是:
SELECT eid FROM event_member WHERE uid IN
(SELECT page_id FROM place WHERE
distance(latitude, longitude, "37.76", "-122.427") < 1000)
Run Code Online (Sandbox Code Playgroud)
但这只会给我未来的事件.也许如果它允许我过去看过去?
我正在尝试测试以下类:
Class UserSynchronizer(){
private static org.apache.log4j.Logger log = ... ;
public Sync(candidate) {
...
if (candidate.inValidForSync()) {
log.debug("Candidate #" + candidate.getId() + ": Not syncing");
}
else {
log.debug("Syncing");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想看看mockito是否可以检测出调用的参数log.debug,然后我想知道我是否可以对它进行某种正则表达式检查.换句话说,我想:
以下代码是我的起点:
public void verifySyncDoesntSyncWhenInvalid(){
//Setup candidate mock
Candidate invalidSyncCandidateMock = mock(Candidate.class);
when(invalidSyncCandidateMock.inValidForSync()).thenReturn(true);
//Setup log mock
UserSynchronizer userSynchronizer = ...;
Field logField = userSynchronizer.getClass().getDeclaredField("log");
logField.setAccessible(true);
logField.set(userSynchronizer, logMock);
//Call sync
userSynchronizer.sync(invalidSyncCandidateMock);
//Verify that debug was called with ("Candidate #\d+: Not syncing") …Run Code Online (Sandbox Code Playgroud) 我有以下课程:
sealed class A : BaseType
sealed class B : BaseType
sealed class C : BaseType
...
Run Code Online (Sandbox Code Playgroud)
如果我有一个processObject如下所示的方法:
fun processObject(obj: BaseType): Int {
return when(obj) {
is A -> 1
is B -> 1
else -> 0
}
}
Run Code Online (Sandbox Code Playgroud)
我注意到我现在在重复自己,所以我可能会将该方法更改为如下所示:
fun processObject(obj: BaseType): Int {
return when(obj) {
is A, is B -> 1
else -> 0
}
}
Run Code Online (Sandbox Code Playgroud)
然而,当班级数量从 3-4 增加到 40+ 时,(在我看来)这看起来非常难看。我正在考虑按照下面的伪代码做一些事情:
// store all the possible types in a list
val typesThatShouldReturn1 = listOf<BaseType>(
// …Run Code Online (Sandbox Code Playgroud) 假设我有以下内容:
fun makeSound(val animal: Animal) = when(animal) {
is Lion -> animal.roar()
is TRex -> animal.roar()
is Cow -> animal.moo()
}
Run Code Online (Sandbox Code Playgroud)
通常我会通过简单地添加一个RoaringAnimal接口并询问is RoaringAnimal. 但是还有另一种方法可以将多个is子句组合成一个吗?
在python中打印带有整数和字符串的格式化字符串,我通常会这样做:
print '%d %d - %s' %(x,y, mystr)
Run Code Online (Sandbox Code Playgroud)
打印出列表有什么相似之处吗?我有:
L= [1,0,0]
name = 'V'
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
v(1,0,0)
Run Code Online (Sandbox Code Playgroud)
是否有类似于列表对象的%d?
我希望分析与天气数据相关的交通流量。交通数据有一个 UNIX 时间戳(又名纪元),但我在将时间戳(在天气数据中)转换为纪元时遇到了麻烦。问题是我在挪威,天气数据中的 UTC 时间戳与我不在同一时区(GMT+1)。
我最初的做法
我首先尝试将其转换为纪元并将数据视为 GMT+1 时区。然后我通过减去 UTC 和 GMT+1 之间的秒数差异进行补偿。
方法的问题
我首先意识到这种方法非常原始而且不是很优雅(实际上它充其量只是一个丑陋的黑客)。然而,这里最大的问题是 UTC 和 GMT+1 之间的差异不是恒定的(由于夏令时)。
题
是否有任何可靠的方法可以将 UTC 时间转换为 python 中的 UNIX 时间戳(考虑到我的机器处于 GMT+1)?时间戳采用以下格式:
Y-m-d HH:MM:SS
编辑:尝试过 rmunns 的解决方案:
def convert_UTC_to_epoch(timestamp):
tz_UTC = pytz.timezone('UTC')
time_format = "%Y-%m-%d %H:%M:%S"
naive_timestamp = datetime.datetime.strptime(timestamp, time_format)
aware_timestamp = tz_UTC.localize(naive_timestamp)
epoch = aware_timestamp.strftime("%s")
return (int) (epoch)
Run Code Online (Sandbox Code Playgroud)
这不能正常工作,如下所示:
#Current time at time of the edit is 15:55:00 UTC on June 9th 2014.
>>> diff …Run Code Online (Sandbox Code Playgroud) 假设我有一个打字稿界面:
\n\ninterface MyInputInterface {\n a: A | null\n b: B |\xc2\xa0null\n aString: string | null\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这就是我目前所拥有的:
\n\nconst hasOneNonNull = (input: MyInputInterface) => \n input.a !== null || input.b !== null ||\xc2\xa0input.aString !== null\nRun Code Online (Sandbox Code Playgroud)\n\n但这看起来很脆弱。每次添加新的接口成员时,我都必须记住更新检查。有没有一种方法可以遍历所有接口成员并检查其中至少一个不为空?
\n\n像这样的东西会更理想(getAllMembers是伪代码):
const hasOneNonNull = (input: MyInputInterface) => \n input.getAllMembers().find((elem: any) => any !== null) !== null\nRun Code Online (Sandbox Code Playgroud)\n 假设我有一个X类,它有2个属性:i和j.
我希望有 :
x = X((1,2,3),(2,3,4)) #this would set i to (1,2,3) and j to (2,3,4)
Run Code Online (Sandbox Code Playgroud)
我现在希望下标以下列方式工作:
a, b = x[1,2] #a should now be 2 and b should now be 3
Run Code Online (Sandbox Code Playgroud)
目前我正在尝试这个:
def __getitem__(self, i, j):
return self.x[i] , self.y[j]
Run Code Online (Sandbox Code Playgroud)
然而,这一直给我一个错误,getitem正好接受3个参数,但给出了2个(当我尝试打印x [1,2]时)
我偶然发现了一些不是问题的东西,而是一些令人费解的东西.我正在复制一个xml文件myxml.xml,myxml_copy.xml输出文件的文件大小更大.我不明白为什么会这样.这与文件编码有关吗?
无论如何,我正在使用的代码(虽然它是相当微不足道的):
from xml.dom.minidom import parseString
import sys
def parseXml():
data = open(in_filename,'r').read()
return data
try:
in_filename = sys.argv[1]
out_filename = sys.argv[2]
out_file = open(out_filename,'w')
out_file.write(parseXml())
out_file.close()
except Exception,e:
print "usage: python copy.py <in_file> <out_file>"
print "Error",e
Run Code Online (Sandbox Code Playgroud)
注意:我不是在寻找复制文件的方法.我将在稍后修改原始的xml文件(剪切和粘贴它的不同部分).
python ×4
generics ×2
java ×2
kotlin ×2
algorithm ×1
bdd ×1
date ×1
datetime ×1
facebook ×1
facebook-fql ×1
mockito ×1
python-2.7 ×1
regex ×1
subset-sum ×1
tdd ×1
typescript ×1