十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
算法不给了,又是这种组合,排列的问题。无聊
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、做网站、靖远网络推广、小程序制作、靖远网络营销、靖远企业策划、靖远品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供靖远建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
不过我换种方式解释一下楼主的意思:
有三个数字
1 (代表空串"")
2 (代表长度不为0的字符串"******")
3 (代表null引用)
要求在这三个数字选出N个出来组合 这种组合在数学上叫可重复组合 比如:
输入N=2时有组合
11
22
33
12
13
23
输出N=4时有组合
1111
2222
3333
1112
1113
。。。省略
对于N=4时,楼主的外层list就是所有的这些组合,内层list代表每种组合的具体内容
按上面N=4的例子,list.get(0)就是1111,list.get(0).get(0)就是1111这个组合的第一个1
不知道楼主要干嘛,本来求排列组合的算法就是非P算法了,还要嵌套list!有必要么?
我输个N=100,估计楼主等得不崩溃,你的电脑都崩溃了=。=如何可以,建议换个位运算算法代替吧
尤其提示:可重复元素组合比不可重复元素组合的数量要多非常多
java逻辑代码块是指使用{}大括号内的代码片段,为了实现某种逻辑和主类区分开来的一段代码。分为静态代码块、普通代码块,示例如下:
/**
* 静态代码块先于构造器执行 普通块先于构造块 只执行一次
* 凡是静态的与对象无关,先于对象存在的; 凡是静态的都是共享的
*
*/
public class Test {
static {//静态代码块
System.out.println("static");
}
{
System.out.println("普通块2");
}
public Test() {
System.out.println("构造器");
}
代码:
package com.ufotable.test;
public class Test30 {
private static int l,r,u,d;//定义上下左右边界
private static int[][] a=new int[0][0];//数组
private static int y=0,x=0;//初始化坐标
private static int step,temp;//步长,上一个数组的值
private static void add(int y,int x){
temp+=step;a[y][x]=temp;
}
private static void left(){
while(xl)add(y, --x);//未遇到左边界
if(yu){//遇到左边界且未遇到上边界
l++;up();
}
}
private static void right(){
while(xr)add(y, ++x);//未遇到右边界
if(yd){//遇到右边界且未遇到下边界
r--;
down();
}
}
private static void up(){
while(yu)add(--y, x);//未遇到上边界
if(xr){//遇到上边界且未遇到右边界
u++;
right();
}
}
private static void down(){
while(yd)add(++y, x);//未遇到下边界
if(xl){//遇到下边界且未遇到左边界
d--;
left();
}
}
private static void fun(int start,int step,int length){//产生数组(起始值,步长,矩阵边长)
Test30.step=step;
l=u=0;r=d=length-1;
a=new int[length][length];
a[0][0]=temp=start;
up();
}
public static void print(){//输出矩阵
for(int i=0;ia.length;i++){
for(int j=0;ja.length;j++){
System.out.print(a[i][j]+"\t");
}System.out.println();}
}
public static void main(String[] args) {
fun(0,1,10);//测试
print();
}
}
输出结果:
先不要看具体的框架里面的方法。先熟悉流程,搞清楚最基本的操作的方法,然后熟悉增删改查,很固定的方法,会调用就可以了,不需要了解多少框架里面封装好的方法。基本的java会写吧,建个联系的页面自己写点东西,不写只看总是感觉不太会