小编and*_*snn的帖子

Java,找到两个数组的交集

我已经在这上面阅读了一些其他堆栈溢出线程:

在java中找到两个多重集的交集

如何将两个数组之间的交集作为新数组?

public static int[] intersection (int [] x, int numELementsInX, int [] y, int numElementsInY) {
Run Code Online (Sandbox Code Playgroud)

我试图检查两个数组以及它们的元素数(numElementsInX和numElementsInY),并返回一个包含数组x和y的公共值的新数组.他们的交集.

Example,if x is{1,3,5,7,9}and y is{9,3,9,4} then
intersection(x, 5, y, 4} should return {3, 9} or {9, 3}
Run Code Online (Sandbox Code Playgroud)

我读过我需要使用LCS算法.谁能给我一个如何做到这一点的例子?数组中的数组和值都被初始化并在另一个方法中生成,然后传递到交集中.

任何帮助/澄清表示赞赏.

编辑代码

for (int i=0; i<numElementsInX; i++){
    for (int j=0; j<numElementsInY; j++){
        if (x[j]==x[i]) { //how to push to new array?; 
        }
        else{
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays sorting algorithm

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

Nodejs createCipher vs createCipheriv

我目前正在尝试使用NodeJS加密静态数据,我已经阅读了createCipher推荐的Node API文档.

crypto.createCipher()的实现使用OpenSSL函数EVP_BytesToKey导出密钥,摘要算法设置为MD5,一次迭代,无盐.缺少盐允许字典攻击,因为相同的密码始终创建相同的密钥.低迭代计数和非加密安全散列算法允许非常快速地测试密码.

根据OpenSSL建议使用pbkdf2而不是EVP_BytesToKey,建议开发人员使用crypto.pbkdf2()自行派生密钥和IV,并使用crypto.createCipheriv()创建Cipher对象.

createCipher仍然在静止数据加密一个可行的和安全的方式?该方法是否应被视为弃用?知情的攻击者是否可以对数据进行潜在解密?

应该createCipheriv始终优先使用解决方案createCipher吗?

任何其他细节或建议表示赞赏.

security encryption algorithm openssl node.js

13
推荐指数
1
解决办法
6426
查看次数

python xml.etree.ElementTree附加到子元素

我正在尝试使用xml.etree.ElementTree来解析xml文件,查找特定标记,将子项附加到该标记,将另一个子项附加到新创建的标记并将文本添加到后一个子项.

我的XML:

<root>
<a>
    <b>
      <c>text1</c>
    </b>
    <b>
      <c>text2</c>
   </b>
</a>
</root>    
Run Code Online (Sandbox Code Playgroud)

期望的XML:

<root>
<a>
    <b>
      <c>text1</c>
    </b>
    <b>
      <c>text2</c>
   </b>
    <b>
      <c>text3</c>
   </b>
</a>
</root>
Run Code Online (Sandbox Code Playgroud)

当前代码:

import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()


for x in root.iter():
    if (x.tag == 'a'):
        ET.SubElement(x, 'b')
        ET.SubElement(x, 'c')
        #add text
Run Code Online (Sandbox Code Playgroud)

这似乎有效,除了'c'作为'a'而不是'b'的孩子.

像这样:

<root>
<a>
    <b>
      <c>test1</c>
    </b>
    <b>
      <c>test2</c>
    </b>
  <b /><c/></a>
</root>
Run Code Online (Sandbox Code Playgroud)

另外,如何将文本添加到新创建的元素"c"中?我可以迭代直到找到没有文字的标签'c',但必须有更好的方法.

python xml elementtree xml-parsing

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

Java,比较3个整数,排列最大,中位和最小

我被分配了一个家庭作业,提示用户输入3个正整数,然后按照最大,中位和最小的顺序进行比较和打印.

提示并写一个while循环来检查数字是否为正数是好的.我还可以弄清楚如何打印最大和最小的整数.

(像这样的东西?)

 if (a >= b) 
       if (a >= c) { max= a; if (b >= c) min= c; else min= b; }
       else { max= c; min= b; }
    else if (b >= c)
       { max= b; if (a >= c) min= c; else min= a; }
    else { max= c; if (a >= b) min= b; else min= a; }
Run Code Online (Sandbox Code Playgroud)

如何使用相同的模式计算中间整数?我最好不要使用数组,因为教授还没有解释它们.

任何帮助表示赞赏.

谢谢!

java sorting int jvm

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

CSS 递归地悬停在所有子元素上

我试图在悬停时更改 root 的所有子元素的背景颜色属性。我已经尝试过以下方法:

.app_setting *:hover { background-color: yellow; }

*:hover { background-color: yellow; }

html *:hover {background-color: yellow; }

<html class="parent">
</html>

.parent *:hover {background-color: yellow; }
Run Code Online (Sandbox Code Playgroud)

我也尝试过这些链接:

包含所有子元素的悬停 CSS

CSS :hover 影响所有子 div

上面似乎只影响和改变背景颜色<a>。除了使用 javascript 或将每个元素分配给特定的类之外,他们还有另一种使用 CSS 来做到这一点的方法吗?

编辑:

小提琴被删除,因为这是一项家庭作业,我不想分享代码但是,

小提琴确实改变了子元素的背景颜色属性

body *:hover {
    background-color: yellow;

}
Run Code Online (Sandbox Code Playgroud)

正如预期的那样。 但在 HTML 文档中打开时,背景颜色仅应用于<a>标签。我在 Firefox 和 Chrome 中尝试过相同的效果。

上面的问题很简单,只需要添加一个有效的文档类型。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Run Code Online (Sandbox Code Playgroud)

html css

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

Java,如果数组包含重复值,则返回true

我正在尝试让给定的数组x(由用户在另一个方法中输入)包含重复值的方法(重复)返回true。否则它将返回false。而不是检查初始化为100的整个数组,它只会检查输入的值的数量,并使用全局计数器numElementsInX来跟踪该值。

做到这一点的最佳方法是什么?

public static boolean duplicates (int [] x)
Run Code Online (Sandbox Code Playgroud)

我提示输入用户数据,如下所示:

public static void readData (int [] x, int i){

    Scanner input = new Scanner(System.in);
    System.out.println("Please enter integers, enter -999 to stop");

    while (i <= 99) {
        int temp = input.nextInt();
            if(temp == -999){
                break;
            }
            else {
                x[i++]=temp;
            }

    // else

}//end while
        printArray(x,i);


}//end readData

public static void printArray(int [] x, int numElementsInX){

int n = numElementsInX;

for (int i = 0; i < n; i++){
    System.out.print(x[i] + " …
Run Code Online (Sandbox Code Playgroud)

java arrays sorting boolean jgrasp

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