我面临着有几个整数的问题,我必须使用它们生成一个整数.例如.
Int 1: 14
Int 2: 4
Int 3: 8
Int 4: 4
Hash Sum: 43
Run Code Online (Sandbox Code Playgroud)
我对值有一些限制,和属性可以有的最大值是30,所有这些的加法总是30.并且属性总是正的.
关键是我想为类似的整数生成相同的哈希值,例如,如果我有整数,14,4,10,2,那么我想生成相同的哈希值,在43以上的情况下.但当然如果整数非常不同(4,4,2,20)那么我应该有一个不同的哈希值.它也需要快速.
理想情况下,我希望哈希和的输出在0到512之间,并且应该均匀分布.根据我的限制,我可以拥有大约5K种不同的可能性,所以我想要的是每桶10个左右.
我确信有很多算法可以做到这一点,但我找不到谷歌搜索这个东西的方法.任何人都可以发一个算法来做这个吗?
更多信息
整个问题是这些整数是函数的属性.我想将函数的值存储在表中,但是我没有足够的内存来存储所有不同的选项.这就是我想在类似属性之间进行概括的原因.
之所以10,5,15与5,10,15完全不同,是因为如果你想象这在3D中那么两点都是完全不同的点
更多信息2
一些答案尝试使用散列来解决问题.但我不认为这太复杂了.感谢其中一条评论,我意识到这是一个聚类算法问题.如果我们只有3个属性并且我们想象3d中的问题,我只需要将块空间分开.
实际上,这可以通过这种类型的规则来解决
if (att[0] < 5 && att[1] < 5 && att[2] < 5 && att[3] < 5)
Block = 21
if ( (5 < att[0] < 10) && (5 < att[1] < 10) && (5 < att[2] < 10) && (5 < att[3] < 10))
Block = 45
Run Code Online (Sandbox Code Playgroud)
问题是我需要一种快速而通用的方法来生成那些我无法写出所有可能性的ifs.
什么是KISS(保持简单,愚蠢)的方式来记住Boyce-Codd的正常形式是什么以及如何采用非标准化的表格和BCNF呢?
维基百科的信息:对我来说不是很有帮助.
我正在创建一个SharePoint功能,该功能将用于将一些内容类型(及其自定义列/字段)部署到一个新的SharePoint站点中.
我已经使用外部工具为内容类型生成CAML(Andrew Connell的自定义STSADM命令)但是当我将它们放入功能并运行它时我遇到了问题.
该功能会像我期望的那样激活,但是当我尝试查看网站内容类型(/_settings/mngctypes.aspx)时,CPU会使用高达100%的使用率(w3wp)并保持不变.
有没有人看过这个,知道如何解决它?
我有一个ASP.Net Web窗体应用程序,我在其中使用基于表单的身份验证与成员身份和角色提供程序,这适用于身份验证和控制对目录和/或文件的访问.现在我发现自己需要控制对各个实体实例的读取,写入和删除访问,例如能够更新或删除客户的实例.我一直试图想出一个很好的方法来实现这个,但我真的不知道从哪里开始.我读到了ASP.Net MVC中的Authorize属性并且认为有类似的东西会很好 - 装饰方法就像ASP.Net MVC中的控制器动作一样.我不知道在Web窗体世界中有任何开箱即用的方法来实现这一点,并且不知道任何可能帮助我朝这个方向前进的框架或其他工具.任何有关现有解决方案和/或如何设计我自己的实现的建议都将不胜感激.
我在VS 2008中有一个解决方案,里面有2个项目.一个是用C++编写的DLL,另一个是从空白项目创建的简单C++控制台应用程序.我想知道如何从应用程序调用DLL中的函数.
假设我从一个空白的C++项目开始,我想调用一个名为的函数 int IsolatedFunction(int someParam)
我怎么称呼它?
有没有办法使用Windows Domain Credentials在Linux上使用python连接到MS SQL Server数据库?
我可以使用Windows凭据从我的Windows机器上完美地连接,但尝试使用pyodbs + freetds + unixodbc从linux python中做同样的事情
>>import pyodbc
>>conn = pyodbc.connect("DRIVER={FreeTDS};SERVER=servername;UID=username;PWD=password;DATABASE=dbname")
Run Code Online (Sandbox Code Playgroud)
导致此错误:
class 'pyodbc.Error'>: ('28000', '[28000] [unixODBC][FreeTDS][SQL Server]Login incorrect. (20014) (SQLDriverConnectW)')
Run Code Online (Sandbox Code Playgroud)
我确定密码写得正确,但我尝试了很多不同的用户名组合:
DOMAIN\username
DOMAIN\\username
Run Code Online (Sandbox Code Playgroud)
甚至
UID=username;DOMAIN=domain
Run Code Online (Sandbox Code Playgroud)
无济于事.有任何想法吗?
在C#中,当我有一个接口和几个具体实现时,我可以将接口转换为具体类型还是具体类型转换为接口?
这种情况下的规则是什么?
好的,所以我有一个我创建的自定义渲染:
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
horizontalAlign="center"
verticalAlign="middle"
width="100"
height="100">
<mx:Script>
<![CDATA[
[Bindable]
private var fileLabel:String;
[Bindable]
private var fileIcon:Class;
override public function set data(value:Object):void{
fileLabel = value.label;
fileIcon = value.file.url;
}
]]>
</mx:Script>
<mx:Image source="{fileIcon}" />
<mx:Label text="{fileLabel}" />
</mx:VBox>
Run Code Online (Sandbox Code Playgroud)
我想用于照片库,图片被拖放到TileList上.我有那个部分,但我似乎无法让图标的东西工作.
给定:value是File类的包装器.我想将mx:Image源设置为需要类型为Class的东西.使用nativePath或url会给我一个强制转换错误.我在网上看到大量使用XML的例子,比如"Embed(/url/to/img.jpg)".我向你保证,如果你给我一个例子(使用静态图像),我会给你一个反对票.这不是我在这里寻找的东西!
我正在查看一些将用户名转换为小写的代码,然后再存储它们.我90%肯定这是可以的,但是那里的系统实际上需要用户名的区分大小写(特别是在健康行业)?
注意:我的特定代码不在入口点.我们从其他系统获取用户名.我所担心的是依赖于那些系统(可能或可能不在我们的控制之下),在相同的情况下始终传递用户名(当描述同一用户时).
另外值得注意的是 - 代码是:
userName.toLowerCase(Locale.ENGLISH)
Run Code Online (Sandbox Code Playgroud)
所有用户名都是英文的吗?这只是匹配数据库中的排序规则吗?请注意(至少在java中)String.toLowerCase()
定义为String.toLowerCase(Locale.getDefault())