我有两个清单:
A = [[2, 5, 13, 14], [4, 5, 10, 12], [2, 9, 10, 11], [2, 5, 12, 13], [4, 5, 6, 12]]
B = [12, 5]
Run Code Online (Sandbox Code Playgroud)
我试图找出A中哪些列表包含B中的元素(顺序无关紧要)并删除其余列表.
在这种情况下,答案是:
[[4, 5, 10, 12], [2, 5, 12, 13], [4, 5, 6, 12]]
Run Code Online (Sandbox Code Playgroud)
如果我们改变B并制作它B = [13],答案是:
[[2, 5, 13, 14], [2, 5, 12, 13]]
Run Code Online (Sandbox Code Playgroud) 假设我们有以下两个列表:
L1 = [1, 2, 3, 4, 5] and L2 = [4, 5, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
这些可以被认为是相同的,因为L1两个索引向右的旋转将在L2中产生.
这个解决方案很简单,只需每次将列表旋转1,直到它与L2匹配,我想弄清楚的是,如果可以通过找到某种模式或方程来确定这两个列表是否相同当两个列表插入输出时是相同的数字,因此表明列表实际上是相同的(就圆形而言).
这可能吗?或者这是否涉及高级数学?
编辑:不试图找到确定圆度或最少计算量的最快方法.我试图找出列表是否可以量化为具有相同圆度的不同列表具有相同的签名,因此列表被认为是相同的.有没有可以解决这个问题的函数或方程?即
f(L1) = X and f(L2) = X
Run Code Online (Sandbox Code Playgroud)
由于X = X,这两个列表是圆形相同的.
例如以下功能:
fun fac (0 : int) : int = 1
| fac (n : int) : int = n * fac (n - 1)
Run Code Online (Sandbox Code Playgroud)
或者在功能中:
fun even 0 = true
| even x = odd(x-1)
and odd 0 = false
| odd x = even(x-1);
Run Code Online (Sandbox Code Playgroud)
我对ML的经验很少,我只是想了解基础知识.
如果我有以下
str1 = " Just a test "
str2 = " "
l1 = str1.strip().split()
l2 = str2.strip().split()
Run Code Online (Sandbox Code Playgroud)
我会得到
l1 = ["Just", "a", "test"]
l2 = []
Run Code Online (Sandbox Code Playgroud)
我将如何在 Java 中完成此操作?
我正在做一个小组项目,我们正在创建一个在线游戏。我们已经完成了一半,现在是时候实施一个数据库来存储我们的记录/数据并使网站在互联网上上线。
我只是对 PSQL 的工作原理感到困惑。我的理解是 PSQL 需要在某些服务器上运行才能访问它。对于以前的作业,我为我的 Mac 下载了 Postgres 并在本地主机上运行它。PHP 代码大致如下:
$dbconn = pg_connect("host=localhost port=5432 dbname=mydbname");
Run Code Online (Sandbox Code Playgroud)
那么,如果我们打算使用 PSQL,服务器会在哪里呢?我们中的一个人必须托管服务器吗?我们可以使用某种免费的在线服务器吗?我们如何使用 PHP 连接到该服务器?
总之,我有两个主要问题:
我们如何让我们的代码在互联网上免费上线?(这只是一个临时网站,最多只会上线几周)
我们如何才能访问共享的 PSQL 数据库?
对于菜鸟问题,我很抱歉,我刚刚开始进行 Web 开发,并且仍在学习中。
我有一个ArrayList预定项目的课程,在这个例子中是水果.在我的代码中,我有一个构造函数调用一个填充我的列表的方法.
问题是每次实例化此类的实例时,都会重新填充列表.如何创建和填充列表一次?
public class Test {
ArrayList<String> lst = new ArrayList<String>();
public Test() {
populate();
}
public void populate() {
lst.add("Apple");
lst.add("Banana");
}
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个基本树,其中所有节点都有一个名称和一组子节点.
public class Tree {
String data;
Tree parent = null;
HashSet children = new HashSet();
public Tree(String nodeName) {
this.data = nodeName;
}
public void parent(Tree parent) {
this.parent = parent
}
public void addAChild(Tree child) {
this.children.add(child);
child.parent(this);
}
Run Code Online (Sandbox Code Playgroud)
并使用这个类
Tree a = new Tree("root");
Tree b = new Tree("n1");
Tree c = new Tree("n2");
Tree d = new Tree("n3");
Tree e = new Tree("n4");
Tree f = new Tree("n5");
a.addAChild(b);
a.addAChild(c);
a.addAChild(d);
d.addAChild(e);
e.addAChild(f);
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义,但我想要树的视觉表示,以便我可以快速测试,看看孩子和节点是否在正确的位置.
或类似的东西.
我有一棵包含多个节点的树。每个节点都有一个父节点(如果是根节点,则为null),一个名称(名称)和一个将子节点名称映射到子节点对象的HashTable(子节点)。
给定节点的字符串名称,我想创建一个遍历树的方法,以找到特定的节点并返回它。如果该节点不存在,则返回null。
我认为最好使用递归方法。到目前为止,我有这个:
public Node findNode(Node n, String s) {
if (n.name == s) {
return n;
} else {
for (Node child: n.children.values()) {
findNode(child, s);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定将空语句放在哪里。