小编Blu*_*ire的帖子

析因方法 - 递归还是迭代?(JAVA)

我正在通过项目Euler,我遇到了一个组合问题.组合逻辑意味着计算阶乘.所以,我决定创建一个阶乘方法.然后我遇到了一个问题 - 因为我可以很容易地使用迭代和递归来做到这一点,我应该去哪一个?我快速写了2个方法 - 迭代:

public static long factorial(int num) {
        long result = 1;
        if(num == 0) {
            return 1;
        }
        else {
            for(int i = 2; i <= num; i++) {
                result *= i;
            }
            return result;
        }
Run Code Online (Sandbox Code Playgroud)

和递归:

public static long factorial(int num) {
        if(num == 0) {
            return 1;
        }
        else {
            return num * factorial(num - 1);
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果我(显然)在这里谈论速度和功能,我应该使用哪一个?而且,一般来说,这种技术通常比其他技术更好(所以如果我以后遇到这个选择,我该怎么做)?

java iteration recursion

5
推荐指数
1
解决办法
2万
查看次数

如何找到 SVG 元素的翻译坐标?

x我有一个带有和设置的SVG 元素y,但我还使用 ,通过某个向量翻译它transform="translate(a, b)",这会更改它渲染的坐标,但显然不会更新它的xy属性。有没有办法获取实际坐标(在本例中为x + a和 )y + b,而不必直接从transform属性中解析值?

这并不是 D3 特定的问题,但我的代码如下所示:

svg.selectAll(selector)
    .attr("x", x)
    .attr("y", y)
    .attr("width", width)
    .attr("height", height)
    .attr("transform", `translate(${a}, ${b})`);
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js

5
推荐指数
1
解决办法
1133
查看次数

如何"缩小"数组 - Java

所以假设我创建了一个包含5个空格的数组,就像这样 - String[] myArray = new String[5].然后假设我定义了一些这些项,但是将其中的一些保留为null(或者任何Java术语用于未定义的数组项/变量),如下所示:

myArray[0] = "foo";
myArray[2] = "bar";
myArray[4] = "foobar";
Run Code Online (Sandbox Code Playgroud)

有没有办法可以"缩小"该数组,挤出所有空项(不改变它的大小)?因此"foo"的索引保持为0,但"bar"的索引变为1,"foobar"位于2,最后2个空格为空?长话短说 - 在数组中的项目周围进行随机播放,将所有空项目推送到最后,同时保持其他项目的相对顺序.是否已有预定义的Java方法,或者我需要自己制作?

java arrays

4
推荐指数
2
解决办法
399
查看次数

选择类型为"h"的最接近元素,例如h1,h2等

假设我选择了一个元素$(mySelector).我想选择最接近它的标题,所以如果它最接近的标题元素是a <h2>,它会选择它,但如果最接近的是a <h3>,它会选择它.我怎样才能做到这一点?

html javascript jquery

4
推荐指数
1
解决办法
1864
查看次数

Chrome扩展程序:无需打开html页面即可使用javascript

我知道有一种方法可以使JS在chrome扩展中工作:只需在manifest.json中包含一个default_popup参数来指定一个HTML页面,然后将JS包含在HTML中<script>.但有没有办法让JS在不打开HTML页面的情况下做一些事情(例如更改扩展图标而不必打开HTML弹出窗口)?

html javascript google-chrome-extension

4
推荐指数
1
解决办法
4546
查看次数

为什么人们写--i?

可能重复:
C++中的增量 - 何时使用x ++或++ x?

我已经看过像循环中i++常用的东西for.但是当人们使用--而不是++出于某种原因,有些人倾向于写作--i而不是i--.

上次我检查时,它们都工作(至少在JavaScript中).谁能告诉我,如果是这样的话在其他C家族语言,如果是,为什么有些人喜欢--ii--

javascript c++ java language-agnostic operators

4
推荐指数
3
解决办法
470
查看次数

计算列中值的百分位数

我有一个带有数字值的列的数据框。该列不是正态分布所近似的。给定另一个数值(不在此列中),如何计算其在该列中的百分位数?也就是说,如果该值大于该列中值的80%但小于其他20%,则该值将位于第20个百分点。

python statistics distribution pandas

4
推荐指数
3
解决办法
4675
查看次数

addEventListener()不起作用

好的,所以我尝试使用addEventListener函数创建此页面,以解决按钮的单击问题; 它没用.我通过删除除了监听器所需的基本元素之外的所有内容来缩小它,并留下以下内容:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function init(){
    document.getElementById("test").addEventListener("mousedown", function(){
        alert("Test successful");
    });
}
body.onload = init();
</script>
</head>
<body>
<button id="test">Click</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这也不起作用,所以我知道问题在于我的上述语法.请注意,当我带走body.onload = init();onload="init()"转入身体标签时,它确实有效:O问题是,我不想让它内联.有什么建议?

注意:请记住,这个问题不是关于JS中是如何存在错误的,即使标题可能如此建议,也是因为我可能错误地解释了它是如何无法工作的.如果您愿意,请随时重命名.

javascript addeventlistener

3
推荐指数
2
解决办法
5万
查看次数

多层继承 - Java

如果类a扩展类b,类b扩展类ca 是否继承自cb?如果是这样,在 2 之间发生冲突的情况下,是否存在错误或是否覆盖了另一个(如果是,是哪个)?

如果标题不合适,请重命名问题。

编辑:我所说的冲突是这样的:

class c {
   int foo;
   //Stuff
}
class b extends c {
   String foo;
   //Stuff
}
class a extends b {
   //Stuff
}
Run Code Online (Sandbox Code Playgroud)

a.foo字符串还是整数?

另一个编辑:所以从我收集的信息来看,这里的继承有点像 CSS - 规则设置得越近,它的优先级就越大(例如内联样式覆盖样式表)。这是考虑这一点的好方法,还是明显不同?

java oop inheritance class

3
推荐指数
1
解决办法
2148
查看次数

A11y 表示空锚标记

我们的网站目前有一个组件,它是通过使用<a>带有“背景”图像的标签来实现的,该图像是通过使用设置的

\n\n
a.class-name::after {\n    content: url(\'image.png\');\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

标签本身没有内容(看起来像<a class="class-name" other-attrs></a>)。我遇到的问题是我们需要向此链接添加相当于替代文本的内容。由于锚标记不支持alt属性,我可以想到两个选项:

\n\n
    \n
  1. 将替代文本放入标记内,然后设置其样式,以便文本不显示。问题是我不确定屏幕阅读器是否会识别它,因为它可能会检测到它是不可见的。
  2. \n
  3. 将替代文本放入title标签的属性中。尽管title通常会被屏幕阅读器忽略,但我在这里读到“将读取标题属性的唯一非常微小的例外是如果\xe2\x80\x99s绝对没有链接锚文本,并且\xe2\x80\x99s很少见”。对于我们来说,这恰恰是如此,但我想与更有知识的人再次确认这是否真的有效。
  4. \n
\n\n

也许还有更好的第三种选择?无论如何,任何帮助将不胜感激!

\n

html css anchor accessibility

3
推荐指数
1
解决办法
1558
查看次数