java逻辑函数编写(涉及算法,较难) 一个方法 返回值为一个双list的组合 List<List<>> getList(int i){ }

根据int的大小组合多种不重复的情况组合为三种:空串(""),非空串("非空"),null值(null)如果int是1那么返回一个list.get(0).get(0)="... 根据int的大小组合多种不重复的情况
组合为三种: 空串( "" ), 非空串 ( "非空" ), null值 ( null )
如果int是1 那么返回一个
list.get(0).get(0)=""
list.get(1).get(0)=null

list.get(2).get(0)="有值"
如果int是2 那么就麻烦了。如果三。。四。。。
举例:int为2
第一种组合:
list.get(0).get(0) = "",
list.get(0).get(1) = ""
第二种组合
list.get(1).get(0) = ""
list.get(1).get(1)=null
第三种组合
list.get(2).get(0)=""
list.get(2).get(1)="优质"

第四种组合
list.get(2).get(0)=null
list.get(2).get(1)=null
第五第六第七。。。。。。

如果int为三。。。。
第一种组合:
list.get(0).get(0) = "",
list.get(0).get(1) = ""
list.get(0).get(2) = ""
第二种组合:
list.get(1).get(0) = "",
list.get(1).get(1) = null
list.get(1).get(2) = ""
第三种组合:
list.get(1).get(0) = ""
list.get(1).get(1) = null
list.get(1).get(2) = null
第四第五第六。。。。太多了。。。

。。。。。。。。。。 要求list.get(i)不重副
挺难得 涉及到算法了 帮帮忙。。。
展开
 我来答
开心乐四方8793
2012-07-05 · TA获得超过225个赞
知道答主
回答量:605
采纳率:100%
帮助的人:173万
展开全部
package com.se.test;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;

public class LogicTest {
public static final String NULL = "null";
public static final String IS_EMPTY = "\"\"";
public static final String NOT_EMPTY = "exist value";

public List<List<String>> getList(int len){
List<List<String>> result = new ArrayList<List<String>>();
Set<String> saveListStr = new HashSet<String>();
String[] saveStrs = {NULL, IS_EMPTY, NOT_EMPTY};

int size = (int)Math.pow(3, len);
Random random = new Random();
while(true){
List<String> strList = new ArrayList<String>();
for(int i=0;i<len;i++){
int r = random.nextInt(3);
strList.add(saveStrs[r]);
}
result.add(strList);
saveListStr.add(strList.toString());
if(result.size() > saveListStr.size()){
result.remove(strList);
continue;
}
if(saveListStr.size() == size){
break;
}
}
return result;
}

public static void main(String[] args) {
LogicTest lt = new LogicTest();
List<List<String>> list = lt.getList(4);
System.out.println(list);
System.out.println(list.size());
}
}

真的不好做,好不容易 做出来。看看是你想要的结果把
yang_bigarm
2012-07-05 · TA获得超过3949个赞
知道大有可为答主
回答量:1664
采纳率:100%
帮助的人:617万
展开全部
这个不涉及什么算法,最多就是数据结构里的十字链表结构变一下而已,就是你的表达太糟糕了,别人看不太懂。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
akfucc
2012-07-04 · TA获得超过5454个赞
知道大有可为答主
回答量:1771
采纳率:0%
帮助的人:2195万
展开全部
同楼上,这意思表达的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hitzsf
2012-07-04 · TA获得超过2060个赞
知道大有可为答主
回答量:1741
采纳率:78%
帮助的人:1162万
展开全部
啥米东西啊,看不懂啥意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式