我想找到一组整数的子集.这是带有回溯的"子集和"算法的第一步.我编写了以下代码,但它没有返回正确的答案:
BTSum(0, nums);
///**************
ArrayList<Integer> list = new ArrayList<Integer>();
public static ArrayList<Integer> BTSum(int n, ArrayList<Integer> numbers) {
if (n == numbers.size()) {
for (Integer integer : list) {
System.out.print(integer+", ");
}
System.out.println("********************");
list.removeAll(list);
System.out.println();
} else {
for (int i = n; i < numbers.size(); i++) {
if (i == numbers.size() - 1) {
list.add(numbers.get(i));
BTSum(i + 1, numbers);
} else {
list.add(numbers.get(i));
for (int j = i+1; j < numbers.size(); j++)
BTSum(j, numbers);
}
}
}
return null;
} …Run Code Online (Sandbox Code Playgroud) 我有一个分配来创建一个算法来查找包含数字值的数组中的重复项.但它没有说出哪种数字,整数或浮点数.我写了以下伪代码:
FindingDuplicateAlgorithm(A) // A is the array
mergeSort(A);
for int i <- 0 to i<A.length
if A[i] == A[i+1]
i++
return A[i]
else
i++
Run Code Online (Sandbox Code Playgroud)
我创建了一个有效的算法?我认为我的算法存在问题,它会多次返回重复的数字.例如,如果数组包含2对2的两个索引,我将在输出中有... 2,2,... 如何更改它只返回每个重复一次?我认为它对于整数来说是一个很好的算法,但它对浮点数也有效吗?
我创建了以下方法,以便创建唯一的随机数.(此唯一值属于树的节点):
static Random rand = new Random();
public static ArrayList<Node> go(int n) {
ArrayList<Node> list = new ArrayList<Node>();
ArrayList<Integer> numList = new ArrayList<Integer>();
// TODO Auto-generated method stub
for(int i = 1; i<=5; i++)
{
int number = rand.nextInt(10)+1;
if(list.size()>0 && !check(list,number))
{
i--;
continue;
}
numList.add(number);
Node node = new Node();
node.data = number;
list.add(node);
}
int w = 0;
for (Node d : list) {
System.out.println(w+": "+d.data);
w++;
}
return list;
}
private static boolean check(ArrayList<Node> list, int …Run Code Online (Sandbox Code Playgroud) 我最近开始学习Web Ontology Language(OWL).我想用我自己定义的值范围定义DataProperty.考虑以下属性:
<owl:DatatypeProperty rdf:ID="myProperty">
<rdfs:domain rdf:resource="#MyDomain"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/>
</owl:DatatypeProperty>
Run Code Online (Sandbox Code Playgroud)
该属性具有double值的范围,但我想限制范围,以使我的属性只接受介于0和1之间的双精度值.如果您指导我如何定义我自己的数据属性范围,我将非常感激.
除了使用keyset之外,还有什么办法可以检索散列图的键吗?我编写了以下代码,我有一个名为map的hashmap,它包含整数键和double值:
Set<Integer> keys = sorted_map.keySet();
Object[] weel = new Object[keys.size()];
Iterator it = keys.iterator();
int l = 0;
while(it.hasNext())
{
weel[l] = it.next();
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个包含地图键的数组.但现在我需要将这些键与一些整数进行比较.例如 :
if(weel[1] == 5)
Run Code Online (Sandbox Code Playgroud)
但由于weel类型是Object,我不能执行上述操作,也无法将其转换为int.我怎样才能做到这一点?可能吗?
我创建了一个与java I/O一起使用的java程序.我已经实现了Serializable接口,但是当我尝试将对象写入文件时,它仍会在我的代码的以下部分导致java.io.NotSerializableException:
oos.writeObject(ep);
Run Code Online (Sandbox Code Playgroud)
在实现可序列化时如何实现?除了实现这个界面,我应该做另外的工作吗?