问题标签 [elements]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 从几个多维数组中计数
我有 foreach,它生成以下数组:
作为输出,我想得到类似的东西:
新数组的值是循环生成的所有数组中元素的计数。array_count_values() 在这里不起作用...任何建议,如何解决问题?
c++ - 在集合中查找重复元素并将它们分组的快速算法是什么?
假设您有一组元素,您如何挑选出重复的元素并将它们放入每个组中以最少的比较?最好用 C++,但算法比语言更重要。例如给定 {E1,E2,E3,E4,E4,E2,E6,E4,E3},我想提取 {E2,E2}, {E3,E3}, {E4,E4,E4}。你会选择什么数据结构和算法?还请包括设置数据结构的成本,例如,如果它是像 std::multimap 这样的预排序的
更新
按照建议使事情更清楚。有一个限制:元素必须自己比较才能确定它们是重复的。
所以哈希不适用,因为实际上它们将比较从重元素(例如数据块)转移到轻元素(整数),并减少了一些比较,但没有取消它们,最后,我们回到我们最初的问题是什么时候在一个碰撞桶内。
假设您有一堆潜在的 GB 重复文件,它们具有人类所知道的每种哈希算法相同的哈希值。现在您将发现真正的重复项。
不,这不可能是现实生活中的问题(即使 MD5 也足以为现实生活中的文件生成唯一的哈希)。但是只是假装这样我们就可以专注于找到涉及最少比较的数据结构+算法。
我正在做的是
表示成一个 STL std::list 数据结构(其中 1)它的元素删除比向量便宜 2)它的插入更便宜,不需要排序。)
弹出一个元素并将其与其余元素进行比较,如果发现重复,则将其从列表中拉出。一旦到达列表的末尾,就会发现一组重复项,如果有的话。
重复上述 2 个步骤,直到列表为空。
在最好的情况下它需要 N-1,但是 (N-1)!在最坏的情况下。
有什么更好的选择?
我的代码使用上面解释的方法:
感谢下面的回答,但是他们似乎被我的例子误导了,它是关于整数的。事实上,元素是类型不可知的(不一定是整数、字符串或任何其他 POD),并且相等的谓词是自定义的,即比较可能非常繁重。
所以也许我的问题应该是:使用哪种数据结构+算法涉及更少的比较。
根据我的测试,使用像 multiset 这样的预排序容器,multimap 并不好,因为
- 插入时的排序已经进行了比较,
- 以下相邻发现再次进行比较,
- 这些数据结构更喜欢小于操作而不是相等操作,它们执行 2 个小于(a
我看不出它如何保存比较。
下面的一些答案忽略了另一件事,我需要将重复的组彼此区分开来,而不仅仅是将它们保存在容器中。
结论
经过所有讨论,似乎有3种方法
- 我原来的天真方法如上所述
- 从线性容器开始
std::vector
,对其进行排序,然后找到相等的范围 - 从关联容器开始,
std::map<Type, vector<duplicates>>
如 Charles Bailey 所建议的,在关联容器的设置过程中挑选出重复项。
我编写了一个示例来测试下面发布的所有方法。
重复的数量和分布的时间可能会影响最佳选择。
- 方法 1 最好是在前面重重摔倒,最后最差。排序不会改变分布,而是字节序。
- 方法 3 的性能最平均
- 方法2永远不是最好的选择
感谢所有参与讨论的人。
一个输出包含以下代码中的 20 个示例项目。
用 [ 20 10 6 5 4 3 2 2 2 2 1 1 1 1 1 1 1 1 1 1 ] 进行测试
和 [ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 3 4 5 6 10 20 ]
使用 std::vector -> 排序() -> 相邻查找():
比较:['<' = 139,'==' = 23]
比较:['<' = 38, '==' = 23]
使用 std::list -> sort() -> 收缩列表:
比较:['<' = 50, '==' = 43]
比较:['<' = 52, '==' = 43]
使用 std::list -> 缩小列表:
比较:['<' = 0, '==' = 121]
比较:['<' = 0, '==' = 43]
使用 std::vector -> std::map>:
比较:[ '<' = 79, '==' = 0 ]
比较:['<' = 53, '==' = 0]
使用 std::vector -> std::multiset ->相邻_find():
比较:['<' = 79,'==' = 7]
比较:['<' = 53, '==' = 7]
代码
css - 无法使 CSS 元素居中
我无法使用 CSS 让我的网站以我的生活为中心。我已经尝试了网络上建议的所有常用方法,包括:
然后使用
但它只是不会去中心。它停留在页面的左侧。
我想要居中的元素的 CSS 示例如下:
所以,我的 HTML 看起来像这样:
但正如我之前提到的,元素保持不变。谢谢!埃里克
javascript - Javascript - 元素作为图像的视觉表示
这是一个长镜头,但我已经看到了可能使它成为可能的事情。
我有一个 div,里面装满了图像。专辑封面如果你必须知道。我希望允许用户将其作为图像下载。所以他们可以将它用作桌面背景之类的东西。
那么这可能吗?获取元素的这种视觉表示并将其显示为图像?
command - 按活动列出元素
我正在从事自动化构建,需要能够列出在特定活动下工作的元素。我是 ClearCase 的新手,所以我为天真道歉......
我的下游构建过程运行良好,我现在需要通过识别与一个或多个活动、标签等相关的(签入)文件(实际上是更改/发布经理想要的任何组合)来填充“预构建”区域列出构建的候选文件,然后从 M: 驱动器 (Windows) 复制它们。我们在 AIX 和 Win XP Pro 桌面上使用带有后端的 CC 7.1。我们将使用 ccperl 来驱动查找+复制过程。
我与“发现”作斗争无济于事-有人可以伸出援手吗?感谢所有帮助。
悬崖。
wpf - 如何循环遍历 WPF StackPanel 静态项?
可能很容易,但我很难弄清楚(谷歌似乎也没有多大帮助)。
如何遍历 StackPanel 的静态声明的元素(无数据绑定 - 元素在 xaml 中声明)?
任何帮助表示赞赏!
jquery - 获取超过最大值的元素。JAVASCRIPT/JQUERY
问候,
我是java脚本的新手,所以请耐心等待!我想使用JQuery
选择器来实现一些目标。
我有一个列表菜单。看起来像这样...
好的,所以目前我正在使用该parseInt
函数来检索ul
.
这给了我当前的宽度,我现在想创建一个 if 语句。这对我来说真的很棘手。
那么我如何获得这些物品。我担心这远远超出了基本!
任何帮助将不胜感激!
客观示例图片:imageShack 链接
jquery - 是否可以获得绑定到 jQuery 中元素的事件列表?
正如问题所说,我需要绑定到特定元素的事件列表。
我的意思是在加载 dom 时绑定到该元素的单击、鼠标悬停等事件。
(愚蠢的)例子:
结果:
单击,鼠标悬停,聚焦
jquery - jQuery:隐藏元素 - 一般问题
当元素被隐藏时,您无法阅读例如。它们的尺寸,这是一个一般的 javascript 问题还是 jQuery 中可能有解决方法?
我有例如。一些包含小部件的选项卡,初始化它们不能正常工作,因为它们是隐藏的。
谢谢
jquery - 使用 jquery 返回输入类型
我有一个带有动态创建的表单元素的表单。
我需要获取每个元素的值,并发送一个 ajax 请求以确保数据正常(简单的部分)。我可以很容易地获得每个元素的值,但问题出在单选按钮上。例如:
如果我做类似...
它将打印所有单选按钮的值,无论是否选中。
我需要它只返回被检查的值。
那么,有没有办法从 jquery 返回输入元素的类型?