首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >创建一个公式,将数组的索引转换为此索引处的元素(字节

创建一个公式,将数组的索引转换为此索引处的元素(字节
EN

Stack Overflow用户
提问于 2019-11-29 13:54:44
回答 1查看 46关注 0票数 0

需要做一个使用AND OR XOR NEG SHIFT NOT等的算法(公式,函数),它从一个索引计算数组的元素,元素的大小是一个字节,例如element = index^constant,其中常量是array[index]^index (先前计算的)。仅当数组大小小于256时,此方法才有效。如何在索引大于1字节时从索引中生成一个字节。

EN

回答 1

Stack Overflow用户

发布于 2019-11-30 10:22:07

然而,同样的方式也会有重复,因为你只得到了256个字节的可能数字,所以如果你的数组大于256,那么肯定有重复的。

为了避免明显的镜像,您不能使用单调函数,例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
value[ix] = ix

是单调的,所以它看起来像是每256个字节镜像数组内容的形状。为了避免这种情况,你需要将更多的东西组合在一起。它类似于计算自己的伪随机生成器。通常的方法是:

  1. modular算法

类似于:

valueix=( ( c0*ix + c1*ix*ix + c2*ix*ix*ix )%质数)&255

如果常量c0,c1,c2prime足够大,则输出看起来是随机的,因此输出中可见的重复模式会少得多……但是你需要使用可以容纳质数的位数的算术...

如果你达到了算术位宽的上限,那么你需要使用modmul,modpow来避免溢出。请参阅:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- [Modular arithmetics and NTT (finite field DFT) optimizations](https://stackoverflow.com/q/18577076/2521214) 

  1. swapping bits

只需在您的ix上做一些数学运算,您也可以使用带交换的位的ix。这将极大地改变单调属性。然而,这种方法在累积子结果上效果最好,而您的情况并非如此。我会尝试:

valueix=( ix + ((ix<<3)*5) - ((ix>>2)*7) +((3*ix)^((ix<<4)||(ix>>4 )&255

使用常量和运算符可以得到不同的结果。但是,使用这种方法时,您需要检查有效性(我没有!)。因此为前几个值(如1024)渲染图形,其中x轴为ixy轴为value[ix]。在那里,你应该看看这个东西是否在重复,或者甚至是饱和到某个值,如果是,改变方程。

有关更多信息,请参阅How to seed to generate random numbers?

在所有这一切之后,不可能从value[ix]获得ix ...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59106131

复制
相关文章
如何将元素插入数组的指定索引?
数组是一种线性数据结构,可以说是编程中最常用的数据结构之一。修改数组是一种常见的操作,这里,我们来讨论如何在 JS 中数组的任何位置添加元素。
前端小智@大迁世界
2021/03/02
2.9K0
PHP | 删除数组中指定索引的元素,并且重排索引
使用 unset 函数去 删除一个元素,会保持原有索引不变; 如果打算重排索引(让索引从0开始,并且连续),可以使用 array_values 函数; 例: <?php $array = arr
凌川江雪
2020/03/20
2.2K0
查找某个元素在数组中对应的索引
已知一个数组内元素为 { 19, 28, 37, 46, 50 } 。用户输入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值,如果没有查找到,则输出 -1。
算法与编程之美
2023/01/03
3.2K0
查找某个元素在数组中对应的索引
[javascript] 删除数组中null的元素并重建数组索引
想要去掉这里面的null,如果使用delete实现,那个元素的索引还是原来的,这个时候使用.length的时候还是会算上那个元素
唯一Chat
2022/02/23
3K0
Matlab的数组索引
在 MATLAB中,根据元素在数组中的位置(索引)访问数组元素的方法主要有三种:按位置索引、线性索引和逻辑索引。
用户9925864
2022/07/27
1.7K0
一个索引创建引出的思考
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
bisal
2019/09/25
4450
oracle创建索引的sql语句_mysql创建组合索引
创建索引一般分为在线索引和非在线索引,在线与非在线的区别:非在线锁表,优先创建索引,此时DML都被阻塞,所以快;相反,在线锁的是行而非表,通过临时表进行索引的创建,所以不会影响DML操作,但副作用就是慢。 如果在生产环境操作,不停服务的话,势必导致创建索引期间仍有DML操作进来。另外如果是大表,那么采用非在线而导致锁表所带来的影响可能会很大。一句话,生产环境不停服的脚本操作,建议使用online。 1、创建索引。
全栈程序员站长
2022/10/03
3.8K0
sqlserver 视图创建索引_Oracle创建索引
1、添加索引 create index 索引对象名 on 索引对应表名(表内索引对象字段名); 例:需创建包含userid属性的userinfo表。 create index userid on system.userinfo(userid);
全栈程序员站长
2022/10/04
1.3K0
索引的创建与设计原则(2)(适合创建索引情况 )
 由于开启过慢查询日志bin-log, 我们就必须为我们的function指定一个参数。 主从复制,主机会将写操作记录在bin-log日志中。从机读取bin-log日志,执行语句来同步数据。如果使 用函数来操作数据,会导致从机和主键操作时间不一致。所以,默认情况下,mysql不开启创建函数设 置。
一个风轻云淡
2022/11/15
3510
索引的创建与设计原则(2)(适合创建索引情况 )
寻找数组的中心索引
上面这么一道题,是我在刷题的时候遇到的,其实这道题也不难,就是list的元素和,判断最后是否满足 左边的等于后边的和,返回索引。
雷子
2021/03/15
8510
mysql创建索引的原则
   b、过多的索引会导致insert、update、delete语句的执行效率降低;
三哥
2019/05/15
2.7K0
sql中使用什么语句创建索引_索引的创建方式有
本文操作环境:windows10系统、mysql 5.7、thinkpad t480电脑。
全栈程序员站长
2022/10/04
8030
sql中使用什么语句创建索引_索引的创建方式有
用sql创建索引_sqlserver索引的建立与使用
1.创建普通索引 SQL CREATE INDEX 语法 在表上创建一个简单的索引。允许使用重复的值:
全栈程序员站长
2022/10/02
1.9K0
mysql创建索引视图_mysql中创建视图、索引[通俗易懂]
视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变。
全栈程序员站长
2022/09/16
7.8K0
【Oracle】-【创建索引】-创建索引的操作原理与一些体会
1、将index key的data读到cache。如果之前这部分数据未读到DB Cache,那么此时可能有db file scatter read write的等待事件。
bisal
2019/01/29
5640
mysql 创建 主键索引 唯一索引 全文索引 多列索引 添加索引
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
bear_fish
2018/09/19
6.3K0
MongoDB 索引创建
七、更多参考 MongoDB 单键(列)索引 MongoDB 复合索引 MongoDB 多键索引 MongoDB 执行计划获取(db.collection.explain()) MongoDB 唯一索引 MongoDB 部分索引 MongoDB 稀疏(间隙)索引(Sparse Indexes)
Leshami
2018/08/08
2.8K0
MariaDB 创建索引
索引用于快速找出在某个列中有一特定值的行,如果不使用索引MySQL必须从第l条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,MySQL能快速到达某个位置去搜寻数据文件,而不必查看所有数据.
微软技术分享
2022/12/28
3.3K0
oracle删除索引_创建普通索引sql
a) 唯一索引, 作用是数据约束,保证数据唯一,还有就是数据索引,提高查询效率
全栈程序员站长
2022/10/03
8370
mysql 添加索引 mysql 如何创建索引
1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
全栈程序员站长
2022/09/05
10K0

相似问题

删除不同索引处的数组元素

118

获取指定索引处的数组元素

224

将字节数组转换为特定索引处的字符串(Flex)

10

Javascript将元素追加到指定索引处的数组

41

JS数组返回索引i+1处的元素,而不是索引i处的元素

135
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文