当我想要同时计算两个集合(存储为列表)的并集和交集以及差异时,我[当然重新]发明了这个[wheel].初始代码(不是最严格的):
dct = {}
for a in lst1:
dct[a] = 1
for b in lst2:
if b in dct:
dct[b] -= 1
else:
dct[b] = -1
union = [k for k in dct]
inter = [k for k in dct if dct[k] == 0]
oneminustwo = [k for k in dct if dct[k] == 1]
twominusone = [k for k in dct if dct[k] == -1]
Run Code Online (Sandbox Code Playgroud)
然后我意识到我应该使用00,01,10和11而不是-1,1,0,......所以,位置n处的位表示集合n中的成员资格.
这可以使用32位int推广到最多32个集合,或使用bitarray或字符串推广到任意数量的集合.因此,您预先计算此字典一次,然后使用非常快速的O(n)查询来提取感兴趣的元素.例如,所有1都表示所有集合的交集.所有0都是特殊的 - 不会发生.
无论如何,这不是为了自己的号角.这肯定是以前发明的并且有一个名字.这叫什么?这种方法是在数据库中使用的吗?
我的网站使用zend框架并在子文件夹中运行,例如:http://www.example.com/sub/folder.现在我想在/ sub/folder /中添加我的css链接,以便在http://www.example.com/sub/folder/product/abc这样的页面中加载css ,我以为我找到了一个视图帮助器来执行此操作BaseUrl但BaseUrl似乎只能在实际的视图文件中工作,而不能在引导类中工作.有谁知道这个的原因和一个可以解决的解决方法?
这是我的boodstrap类的片段.
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initStylesheet()
{
$this->_logger->info('Bootstrap ' . __METHOD__);
$this->bootstrap('view');
$this->_view = $this->getResource('view');
$this->_view->headLink()->appendStylesheet($this->_view->baseUrl('/css/main.css'));
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用带有DataAnnotations的ASP.NET MVC.我创建了以下自定义ValidationAttribute,它可以正常工作.
public class StringRangeAttribute : ValidationAttribute
{
public int MinLength { get; set; }
public int MaxLength { get; set; }
public StringRangeAttribute(int minLength, int maxLength)
{
this.MinLength = (minLength < 0) ? 0 : minLength;
this.MaxLength = (maxLength < 0) ? 0 : maxLength;
}
public override bool IsValid(object value)
{
//null or empty is <em>not</em> invalid
string str = (string)value;
if (string.IsNullOrEmpty(str))
return true;
return (str.Length >= this.MinLength && str.Length <= this.MaxLength);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,出现的错误消息是标准的"字段*无效".我想将其更改为:"[DisplayName]必须介于[minlength]和[maxlength]之间",但我无法弄清楚如何从此类中获取DisplayName甚至字段的名称.
谁知道?
我很想知道用VB.net编写的程序的传播级别.我问,因为我在大学航空航天工程期间在VB.net编写,因为我们的信息学教授希望我们这样做,我们至少学到了很多基本的编程经验.因此,我将地平线探测器编写为项目工作,并询问我的一位朋友,一位信息学的学生,帮助我解决一些开放式问题.
他真的问我教授是否想在他的一颗卫星上使用这个vb.net程序.(好吧,即使我不希望我的程序在一个真正的卫星上,即使在这个纳米测试卫星上也是如此:)).我回答说,我知道,他在其中使用了其他vb.net的东西.他说,这个vb.net并没有在现实世界的程序中使用,它比其他语言慢,而且不够灵活.他说,除了使用vb.net之外,还有其他方法可以使这颗卫星崩溃;)
所以我想知道关于在vb.net中编码的程序在PC应用程序和自动化机器等软件中的百分比的粗略估计.
如果不需要它,为什么还有人在编码呢?:d
谢谢你对此的任何回复!
安德烈亚斯
Emacs 23刚刚添加了更改当前帧的alpha值以使其透明的功能.我只需在.emacs中输入以下命令:
(set-frame-parameter (selected-frame) 'alpha '(85 50))
它实际上显示了Emacs背后的窗口上的内容.但是,我有兴趣制作一个Emacs背景图片.也许是一些恒星景观或其他东西.有没有人有关于如何更改框架背后的背景图像的想法?
我下载了microsfot的jdbc驱动程序,我不确定connection.url应该是什么?
<property name="connection.driver_class">org.microsoft.sqlserver.jdbc</property>
<property name="connection.url">jdbc:</property>
..
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
Run Code Online (Sandbox Code Playgroud)
我已经将sqlexpress配置为通过tcpip和静态端口工作.
我有一个我正在改变的plist:
NSString *finalPath = [path stringByAppendingPathComponent:@"KeyFrameFileByMovie.plist"];
NSMutableDictionary *keyFrameFileByMovie = [[NSMutableDictionary alloc] initWithContentsOfFile:finalPath];
[keyFrameFileByMovie setValue:keyFrameName forKey:movieName];
BOOL isOk = [keyFrameFileByMovie writeToFile:finalPath atomically:YES];
Run Code Online (Sandbox Code Playgroud)
在模拟器上isOk为1,设备isOK为0
我不认为这是一个案例敏感问题,因为我有一个有效的代码:
NSString *finalPath = [path stringByAppendingPathComponent:@"KeyFrameFileByMovie.plist"];<br>
NSDictionary *plistData =[[NSDictionary dictionaryWithContentsOfFile:finalPath] retain];
Run Code Online (Sandbox Code Playgroud)
为什么writeToFile在设备上失败?
我想使用DOS在文件中找到一个字符串:
例如
找到"string"status.txt
当找到它时,我想运行一个批处理文件.
做这个的最好方式是什么?
我对python启动速度有多慢感到非常沮丧.只需导入更多或更少的基本模块需要一秒钟,因为python沿着sys.path运行,寻找匹配的文件(并生成4个stat()
调用 - ["foo","foo.py","foo.pyc","foo.so "] - 每次检查).对于复杂的项目环境,有大量不同的目录,这可能需要大约5秒钟 - 所有这些都可以运行可能立即失败的脚本.
有人建议如何加快这个过程?例如,我见过的一个hack是将LD_PRELOAD_32
环境变量设置为一个库,它在运行之间缓存ENOENT
调用的结果(例如,失败的stat()
调用).当然,这有各种各样的问题(可能混淆非python程序,负面缓存等).
我有以下代码:
public class boolq {
public static void main(String[] args) {
boolean isTrue = true;
isTrue ? System.out.println("true"): System.out.println("false");
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它时,我得到了这个:
线程"main"中的异常java.lang.Error:未解决的编译问题:
令牌";"上的语法错误,在此令牌之后断言
类型不匹配:无法从void转换为boolean
在boolq.main(boolq.java:3)
我究竟做错了什么?
java -version
java版"1.6.0_15"
Java(TM)SE运行时环境(版本1.6.0_15-b03)
Java HotSpot(TM)客户端VM(版本14.1-b02,混合模式,共享)
java ×2
python ×2
algorithm ×1
asp.net-mvc ×1
batch-file ×1
bit-fields ×1
boolean ×1
dos ×1
emacs ×1
hibernate ×1
iphone ×1
php ×1
plist ×1
set ×1
vb.net ×1