问题标签 [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.

0 投票
3 回答
816 浏览

php - 从几个多维数组中计数

我有 foreach,它生成以下数组:

作为输出,我想得到类似的东西:

新数组的值是循环生成的所有数组中元素的计数。array_count_values() 在这里不起作用...任何建议,如何解决问题?

0 投票
11 回答
27573 浏览

c++ - 在集合中查找重复元素并将它们分组的快速算法是什么?

假设您有一组元素,您如何挑选出重复的元素并将它们放入每个组中以最少的比较?最好用 C++,但算法比语言更重要。例如给定 {E1,E2,E3,E4,E4,E2,E6,E4,E3},我想提取 {E2,E2}, {E3,E3}, {E4,E4,E4}。你会选择什么数据结构和算法?还请包括设置数据结构的成本,例如,如果它是像 std::multimap 这样的预排序的

更新

按照建议使事情更清楚。有一个限制:元素必须自己比较才能确定它们是重复的。

所以哈希不适用,因为实际上它们将比较从重元素(例如数据块)转移到轻元素(整数),并减少了一些比较,但没有取消它们,最后,我们回到我们最初的问题是什么时候在一个碰撞桶内。

假设您有一堆潜在的 GB 重复文件,它们具有人类所知道的每种哈希算法相同的哈希值。现在您将发现真正的重复项。

不,这不可能是现实生活中的问题(即使 MD5 也足以为现实生活中的文件生成唯一的哈希)。但是只是假装这样我们就可以专注于找到涉及最少比较的数据结构+算法


我正在做的是

  1. 表示成一个 STL std::list 数据结构(其中 1)它的元素删除比向量便宜 2)它的插入更便宜,不需要排序。)

  2. 弹出一个元素并将其与其余元素进行比较,如果发现重复,则将其从列表中拉出。一旦到达列表的末尾,就会发现一组重复项,如果有的话。

  3. 重复上述 2 个步骤,直到列表为空。

在最好的情况下它需要 N-1,但是 (N-1)!在最坏的情况下。

有什么更好的选择?


我的代码使用上面解释的方法:


感谢下面的回答,但是他们似乎被我的例子误导了,它是关于整数的。事实上,元素是类型不可知的(不一定是整数、字符串或任何其他 POD),并且相等的谓词是自定义的,即比较可能非常繁重

所以也许我的问题应该是:使用哪种数据结构+算法涉及更少的比较。

根据我的测试,使用像 multiset 这样的预排序容器,multimap 并不好,因为

  1. 插入时的排序已经进行了比较,
  2. 以下相邻发现再次进行比较,
  3. 这些数据结构更喜欢小于操作而不是相等操作,它们执行 2 个小于(a

我看不出它如何保存比较。


下面的一些答案忽略了另一件事,我需要将重复的组彼此区分开来,而不仅仅是将它们保存在容器中。


结论

经过所有讨论,似乎有3种方法

  1. 我原来的天真方法如上所述
  2. 从线性容器开始std::vector,对其进行排序,然后找到相等的范围
  3. 从关联容器开始,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]

代码

0 投票
6 回答
193 浏览

css - 无法使 CSS 元素居中

我无法使用 CSS 让我的网站以我的生活为中心。我已经尝试了网络上建议的所有常用方法,包括:

然后使用

但它只是不会去中心。它停留在页面的左侧。

我想要居中的元素的 CSS 示例如下:

所以,我的 HTML 看起来像这样:

但正如我之前提到的,元素保持不变。谢谢!埃里克

0 投票
4 回答
317 浏览

javascript - Javascript - 元素作为图像的视觉表示

这是一个长镜头,但我已经看到了可能使它成为可能的事情。

我有一个 div,里面装满了图像。专辑封面如果你必须知道。我希望允许用户将其作为图像下载。所以他们可以将它用作桌面背景之类的东西。

那么这可能吗?获取元素的这种视觉表示并将其显示为图像?

0 投票
1 回答
444 浏览

command - 按活动列出元素

我正在从事自动化构建,需要能够列出在特定活动下工作的元素。我是 ClearCase 的新手,所以我为天真道歉......

我的下游构建过程运行良好,我现在需要通过识别与一个或多个活动、标签等相关的(签入)文件(实际上是更改/发布经理想要的任何组合)来填充“预构建”区域列出构建的候选文件,然后从 M: 驱动器 (Windows) 复制它们。我们在 AIX 和 Win XP Pro 桌面上使用带有后端的 CC 7.1。我们将使用 ccperl 来驱动查找+复制过程。

我与“发现”作斗争无济于事-有人可以伸出援手吗?感谢所有帮助。

悬崖。

0 投票
2 回答
8331 浏览

wpf - 如何循环遍历 WPF StackPanel 静态项?

可能很容易,但我很难弄清楚(谷歌似乎也没有多大帮助)。

如何遍历 StackPanel 的静态声明的元素(无数据绑定 - 元素在 xaml 中声明)?

任何帮助表示赞赏!

0 投票
3 回答
363 浏览

jquery - 获取超过最大值的元素。JAVASCRIPT/JQUERY

问候,

我是java脚本的新手,所以请耐心等待!我想使用JQuery选择器来实现一些目标。

我有一个列表菜单。看起来像这样...

好的,所以目前我正在使用该parseInt函数来检索ul.

这给了我当前的宽度,我现在想创建一个 if 语句。这对我来说真的很棘手。

那么我如何获得这些物品。我担心这远远超出了基本!

任何帮助将不胜感激!

客观示例图片:imageShack 链接

0 投票
2 回答
1887 浏览

jquery - 是否可以获得绑定到 jQuery 中元素的事件列表?

正如问题所说,我需要绑定到特定元素的事件列表。

我的意思是在加载 dom 时绑定到该元素的单击、鼠标悬停等事件。

(愚蠢的)例子:

结果:

单击,鼠标悬停,聚焦

0 投票
4 回答
715 浏览

jquery - jQuery:隐藏元素 - 一般问题

当元素被隐藏时,您无法阅读例如。它们的尺寸,这是一个一般的 javascript 问题还是 jQuery 中可能有解决方法?

我有例如。一些包含小部件的选项卡,初始化它们不能正常工作,因为它们是隐藏的。

谢谢

0 投票
5 回答
1382 浏览

jquery - 使用 jquery 返回输入类型

我有一个带有动态创建的表单元素的表单。

我需要获取每个元素的值,并发送一个 ajax 请求以确保数据正常(简单的部分)。我可以很容易地获得每个元素的值,但问题出在单选按钮上。例如:

如果我做类似...

它将打印所有单选按钮的值,无论是否选中。

我需要它只返回被检查的值。

那么,有没有办法从 jquery 返回输入元素的类型?