java汉诺塔暂停_玩一下java,顺便写了下汉诺塔问题,两种方法实现。_寒霜血蝶的博客-程序员资料

技术标签: java汉诺塔暂停  

1

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gifpublicclassHanoi_X8023Z9b8a8a44dd1c74ae49c20a7cd451974e.png{2d18c02628675d0a2c816449d98bda930.png/// 3d18c02628675d0a2c816449d98bda930.png/// 将n个盘从one座借助two座,移动到three座.4d18c02628675d0a2c816449d98bda930.png/// 5d18c02628675d0a2c816449d98bda930.png/// 盘子个数6d18c02628675d0a2c816449d98bda930.png/// 第一个标识座A7d18c02628675d0a2c816449d98bda930.png/// 第二个标识座B8d18c02628675d0a2c816449d98bda930.png/// 第三个标识座C9d18c02628675d0a2c816449d98bda930.pngvoidhanoi(intn, String one, String two, String three)1097e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{11d18c02628675d0a2c816449d98bda930.pngif(n==1)1297e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{13d18c02628675d0a2c816449d98bda930.png            move(one, three);//从A座移动到C座14ecedf933ec37d714bd4c2545da43add2.png}15d18c02628675d0a2c816449d98bda930.pngelse1697e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{17d18c02628675d0a2c816449d98bda930.png            hanoi(n-1, one, three, two);//将A上n-1个盘借助于C座先移动到B座上18d18c02628675d0a2c816449d98bda930.pngmove(one, three);19d18c02628675d0a2c816449d98bda930.png            hanoi(n-1, two, one, three);//将n-1个盘从B借助于A座移动到C座上20ecedf933ec37d714bd4c2545da43add2.png}21d18c02628675d0a2c816449d98bda930.png22ecedf933ec37d714bd4c2545da43add2.png    }23d18c02628675d0a2c816449d98bda930.png24d18c02628675d0a2c816449d98bda930.png/// 25d18c02628675d0a2c816449d98bda930.png/// 并未真正移动盘子,只是打印出移盘的方案26d18c02628675d0a2c816449d98bda930.png/// 27d18c02628675d0a2c816449d98bda930.png/// from从哪个座开始移28d18c02628675d0a2c816449d98bda930.png/// to移动到哪个座29d18c02628675d0a2c816449d98bda930.pngvoidmove(String x, String y)3097e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{31d18c02628675d0a2c816449d98bda930.png        FormatStr(x+y);32d18c02628675d0a2c816449d98bda930.png        System.out.println(strA+"\n"+strB+"\n"+strC+"\n");33ecedf933ec37d714bd4c2545da43add2.png    }34d18c02628675d0a2c816449d98bda930.png35d18c02628675d0a2c816449d98bda930.png//定义三个字符串36d18c02628675d0a2c816449d98bda930.pngprivateString strA="0";//A座37d18c02628675d0a2c816449d98bda930.pngprivateString strB="0";//B座38d18c02628675d0a2c816449d98bda930.pngprivateString strC="0";//C座39d18c02628675d0a2c816449d98bda930.pngprivateint_long=5;//初始值40d18c02628675d0a2c816449d98bda930.png41d18c02628675d0a2c816449d98bda930.png/// 42d18c02628675d0a2c816449d98bda930.png/// 格式化字符串43d18c02628675d0a2c816449d98bda930.png/// 44d18c02628675d0a2c816449d98bda930.png/// 字符串类型45d18c02628675d0a2c816449d98bda930.pngpublicvoidFormatStr(String strType)4697e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{47d18c02628675d0a2c816449d98bda930.png        remove0();48d18c02628675d0a2c816449d98bda930.png49d18c02628675d0a2c816449d98bda930.pngif(strType .equals("AB"))5097e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{51d18c02628675d0a2c816449d98bda930.png            strB=strB+strA.substring(strA.length()-1, strA.length());52d18c02628675d0a2c816449d98bda930.png            strA=strA.substring(0, strA.length()-1);53d18c02628675d0a2c816449d98bda930.png54ecedf933ec37d714bd4c2545da43add2.png        }55d18c02628675d0a2c816449d98bda930.pngelseif(strType .equals("AC"))5697e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{57d18c02628675d0a2c816449d98bda930.png            strC=strC+strA.substring(strA.length()-1, strA.length());58d18c02628675d0a2c816449d98bda930.png            strA=strA.substring(0, strA.length()-1);59d18c02628675d0a2c816449d98bda930.png60ecedf933ec37d714bd4c2545da43add2.png        }61d18c02628675d0a2c816449d98bda930.pngelseif(strType .equals("BA"))6297e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{63d18c02628675d0a2c816449d98bda930.png            strA=strA+strB.substring(strB.length()-1, strB.length());64d18c02628675d0a2c816449d98bda930.png            strB=strB.substring(0, strB.length()-1);65ecedf933ec37d714bd4c2545da43add2.png        }66d18c02628675d0a2c816449d98bda930.pngelseif(strType .equals("BC"))6797e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{68d18c02628675d0a2c816449d98bda930.png            strC=strC+strB.substring(strB.length()-1, strB.length());69d18c02628675d0a2c816449d98bda930.png            strB=strB.substring(0, strB.length()-1);70ecedf933ec37d714bd4c2545da43add2.png        }71d18c02628675d0a2c816449d98bda930.pngelseif(strType .equals("CA"))7297e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{73d18c02628675d0a2c816449d98bda930.png            strA=strA+strC.substring(strC.length()-1, strC.length());74d18c02628675d0a2c816449d98bda930.png            strC=strC.substring(0, strC.length()-1);75ecedf933ec37d714bd4c2545da43add2.png        }76d18c02628675d0a2c816449d98bda930.pngelseif(strType .equals("CB"))7797e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{78d18c02628675d0a2c816449d98bda930.png            strB=strB+strC.substring(strC.length()-1, strC.length());79d18c02628675d0a2c816449d98bda930.png            strC=strC.substring(0, strC.length()-1);80ecedf933ec37d714bd4c2545da43add2.png        }81d18c02628675d0a2c816449d98bda930.png        Add0();82d18c02628675d0a2c816449d98bda930.png83ecedf933ec37d714bd4c2545da43add2.png    }84d18c02628675d0a2c816449d98bda930.png85d18c02628675d0a2c816449d98bda930.png/// 86d18c02628675d0a2c816449d98bda930.png/// 加087d18c02628675d0a2c816449d98bda930.png/// 88d18c02628675d0a2c816449d98bda930.pngpublicvoidAdd0()8997e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{90d18c02628675d0a2c816449d98bda930.pngfor(inti=0; i<_long src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif">

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{92d18c02628675d0a2c816449d98bda930.pngif(i==strA.length())93d18c02628675d0a2c816449d98bda930.png                strA=strA+"0";94d18c02628675d0a2c816449d98bda930.pngif(i==strB.length())95d18c02628675d0a2c816449d98bda930.png                strB=strB+"0";96d18c02628675d0a2c816449d98bda930.pngif(i==strC.length())97d18c02628675d0a2c816449d98bda930.png                strC=strC+"0";98ecedf933ec37d714bd4c2545da43add2.png        }99ecedf933ec37d714bd4c2545da43add2.png   }100d18c02628675d0a2c816449d98bda930.png101d18c02628675d0a2c816449d98bda930.png/// 102d18c02628675d0a2c816449d98bda930.png/// 去0103d18c02628675d0a2c816449d98bda930.png/// 104d18c02628675d0a2c816449d98bda930.pngpublicvoidremove0()10597e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{106d18c02628675d0a2c816449d98bda930.png        strA=strA.replace("0","");107d18c02628675d0a2c816449d98bda930.png        strB=strB.replace("0","");108d18c02628675d0a2c816449d98bda930.png        strC=strC.replace("0","");109ecedf933ec37d714bd4c2545da43add2.png    }110d18c02628675d0a2c816449d98bda930.png111d18c02628675d0a2c816449d98bda930.png/// 112d18c02628675d0a2c816449d98bda930.png/// 初始化字符串113d18c02628675d0a2c816449d98bda930.png/// 114d18c02628675d0a2c816449d98bda930.pngpublicvoidInitStr()11597e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{116d18c02628675d0a2c816449d98bda930.pngfor(inti=_long; i>0; i--)11797e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{118d18c02628675d0a2c816449d98bda930.png            strA+=String.valueOf(i);119d18c02628675d0a2c816449d98bda930.png            strB+="0";120d18c02628675d0a2c816449d98bda930.png            strC+="0";121ecedf933ec37d714bd4c2545da43add2.png        }122ecedf933ec37d714bd4c2545da43add2.png    }123d18c02628675d0a2c816449d98bda930.png12497e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicstaticvoidmain(String[] args)9b8a8a44dd1c74ae49c20a7cd451974e.png{125d18c02628675d0a2c816449d98bda930.png//TODO Auto-generated method stub126d18c02628675d0a2c816449d98bda930.png//汉诺塔问题分析方法与解答127d18c02628675d0a2c816449d98bda930.png//问题:将n个盘子从A座移动到C座128d18c02628675d0a2c816449d98bda930.png//步骤1:将A座上n-1个盘借助C座先移动到B座上129d18c02628675d0a2c816449d98bda930.png//步骤2:把A座上剩下的一个盘移动到C座上130d18c02628675d0a2c816449d98bda930.png//步骤3:将n-1个盘从B座借助于A座移动到C座上131d18c02628675d0a2c816449d98bda930.png//上面第一步与第三步,都是把n-1个盘从一个座移动到另一个座上,采取的办法是一样的,只是座的名字不同而已132d18c02628675d0a2c816449d98bda930.png//对应关系如下:第一步:one--A two--B three--C;第三步:one--B two--C three--A133d18c02628675d0a2c816449d98bda930.png134d18c02628675d0a2c816449d98bda930.png        Hanoi_X8023Z hanoi_x8023z=newHanoi_X8023Z();//实例化数据排序对象135d18c02628675d0a2c816449d98bda930.pnghanoi_x8023z.InitStr();//初始化字符串136d18c02628675d0a2c816449d98bda930.pngString A="A";//第一个座A137d18c02628675d0a2c816449d98bda930.pngString B="B";//第二个座B138d18c02628675d0a2c816449d98bda930.pngString C="C";//第三个座C139d18c02628675d0a2c816449d98bda930.pngintn=5;//盘子个数140d18c02628675d0a2c816449d98bda930.pnghanoi_x8023z.hanoi(n,A,B,C);//调用汉诺塔排序方法141d18c02628675d0a2c816449d98bda930.pngSystem.out.println();142d18c02628675d0a2c816449d98bda930.png143ecedf933ec37d714bd4c2545da43add2.png    }1448f1ba5b45633e9678d1db480c16cae3f.png}1454f1150b881333f12a311ae9ef34da474.png

结果:

54320

00000

10000

54300

20000

10000

54300

21000

00000

54000

21000

30000

54100

20000

30000

54100

00000

32000

54000

00000

32100

50000

40000

32100

50000

41000

32000

52000

41000

30000

52100

40000

30000

52100

43000

00000

52000

43000

10000

50000

43200

10000

50000

43210

00000

00000

43210

50000

10000

43200

50000

10000

43000

52000

00000

43000

52100

30000

40000

52100

30000

41000

52000

32000

41000

50000

32100

40000

50000

32100

00000

54000

32000

00000

54100

30000

20000

54100

30000

21000

54000

00000

21000

54300

10000

20000

54300

10000

00000

54320

00000

00000

54321

1

4f1150b881333f12a311ae9ef34da474.pngimportjava.util.*;21fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gifpublicclasshanoi9b8a8a44dd1c74ae49c20a7cd451974e.png{3d18c02628675d0a2c816449d98bda930.png4d18c02628675d0a2c816449d98bda930.pngfinalstaticintHANOI_SIZE=5;//汉诺塔规模大小5d18c02628675d0a2c816449d98bda930.pngstaticintcount;//盘子搬动次数6d18c02628675d0a2c816449d98bda930.pngstaticHashtableabc;//泛型,记录柱子上的盘子状态,如:A-543217d18c02628675d0a2c816449d98bda930.png8d18c02628675d0a2c816449d98bda930.pngstaticvoidhanoi(intn, String x, String y, String z)997e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{10d18c02628675d0a2c816449d98bda930.pngif(n==1)1197e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{12d18c02628675d0a2c816449d98bda930.png            move(x,1, z);//将编号为1的盘从x移到z13ecedf933ec37d714bd4c2545da43add2.png}14d18c02628675d0a2c816449d98bda930.pngelse1597e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{16d18c02628675d0a2c816449d98bda930.png            hanoi(n-1, x, z, y);//将x上编号为1至n-1的盘移动到y,z作为辅助17d18c02628675d0a2c816449d98bda930.pngmove(x, n, z);//将编号为n的圆盘从x移到z18d18c02628675d0a2c816449d98bda930.pnghanoi(n-1, y, x, z);//将y上编号为1至n-1的盘移动到z,x作为辅助19ecedf933ec37d714bd4c2545da43add2.png}20ecedf933ec37d714bd4c2545da43add2.png    }21d18c02628675d0a2c816449d98bda930.png22d18c02628675d0a2c816449d98bda930.png23d18c02628675d0a2c816449d98bda930.pngstaticvoidmove(String x,intn, String y)2497e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{25d18c02628675d0a2c816449d98bda930.png        System.out.println("第"+++count+"次移动,把盘"+n+"从"+x+"-->"+y);26d18c02628675d0a2c816449d98bda930.png        abc.put(x, abc.get(x)/10);27d18c02628675d0a2c816449d98bda930.png        abc.put(y, abc.get(y)*10+n);28d18c02628675d0a2c816449d98bda930.png        System.out.println(Filter(abc.get("A"))+""+Filter(abc.get("B"))+""+Filter(abc.get("C")));29ecedf933ec37d714bd4c2545da43add2.png    }30d18c02628675d0a2c816449d98bda930.png31d18c02628675d0a2c816449d98bda930.png32d18c02628675d0a2c816449d98bda930.pngstaticString Filter(inti)3397e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{34d18c02628675d0a2c816449d98bda930.pngreturnhanoi.rightFillMethod(String.valueOf(i),HANOI_SIZE);35ecedf933ec37d714bd4c2545da43add2.png    }36d18c02628675d0a2c816449d98bda930.png37d18c02628675d0a2c816449d98bda930.pngpublicstaticString rightFillMethod(String str,intj)//右补03897e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{39d18c02628675d0a2c816449d98bda930.pngif(jreturnstr;41d18c02628675d0a2c816449d98bda930.pngfor(inti=0;i<=j-str.length();i++)42d18c02628675d0a2c816449d98bda930.png        str+="0";43d18c02628675d0a2c816449d98bda930.pngreturnstr;44ecedf933ec37d714bd4c2545da43add2.png    }45d18c02628675d0a2c816449d98bda930.png4697e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicstaticvoidmain(String[] args)9b8a8a44dd1c74ae49c20a7cd451974e.png{47d18c02628675d0a2c816449d98bda930.png//初始化柱子状态,和搬动次数计数48d18c02628675d0a2c816449d98bda930.pngabc=newHashtable();49d18c02628675d0a2c816449d98bda930.png        abc.put("A",0);50d18c02628675d0a2c816449d98bda930.png        abc.put("B",0);51d18c02628675d0a2c816449d98bda930.png        abc.put("C",0);52d18c02628675d0a2c816449d98bda930.png53d18c02628675d0a2c816449d98bda930.png        count=0;54d18c02628675d0a2c816449d98bda930.png55d18c02628675d0a2c816449d98bda930.pngintsize;56d18c02628675d0a2c816449d98bda930.pngfor(size=HANOI_SIZE; size>0; size--)5797e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif9b8a8a44dd1c74ae49c20a7cd451974e.png{58d18c02628675d0a2c816449d98bda930.png            abc.put("A", abc.get("A")*10+size);59ecedf933ec37d714bd4c2545da43add2.png        }60d18c02628675d0a2c816449d98bda930.png        hanoi(HANOI_SIZE,"A","B","C");61d18c02628675d0a2c816449d98bda930.png        System.out.println();62ecedf933ec37d714bd4c2545da43add2.png    }63d18c02628675d0a2c816449d98bda930.png648f1ba5b45633e9678d1db480c16cae3f.png}654f1150b881333f12a311ae9ef34da474.png

结果:

第1次移动,把盘1从A --> C

54320 0000 1000

第2次移动,把盘2从A --> B

54300 2000 1000

第3次移动,把盘1从C --> B

54300 2100 0000

第4次移动,把盘3从A --> C

5400 2100 3000

第5次移动,把盘1从B --> A

54100 2000 3000

第6次移动,把盘2从B --> C

54100 0000 3200

第7次移动,把盘1从A --> C

5400 0000 32100

第8次移动,把盘4从A --> B

5000 4000 32100

第9次移动,把盘1从C --> B

5000 4100 3200

第10次移动,把盘2从C --> A

5200 4100 3000

第11次移动,把盘1从B --> A

52100 4000 3000

第12次移动,把盘3从C --> B

52100 4300 0000

第13次移动,把盘1从A --> C

5200 4300 1000

第14次移动,把盘2从A --> B

5000 43200 1000

第15次移动,把盘1从C --> B

5000 43210 0000

第16次移动,把盘5从A --> C

0000 43210 5000

第17次移动,把盘1从B --> A

1000 43200 5000

第18次移动,把盘2从B --> C

1000 4300 5200

第19次移动,把盘1从A --> C

0000 4300 52100

第20次移动,把盘3从B --> A

3000 4000 52100

第21次移动,把盘1从C --> B

3000 4100 5200

第22次移动,把盘2从C --> A

3200 4100 5000

第23次移动,把盘1从B --> A

32100 4000 5000

第24次移动,把盘4从B --> C

32100 0000 5400

第25次移动,把盘1从A --> C

3200 0000 54100

第26次移动,把盘2从A --> B

3000 2000 54100

第27次移动,把盘1从C --> B

3000 2100 5400

第28次移动,把盘3从A --> C

0000 2100 54300

第29次移动,把盘1从B --> A

1000 2000 54300

第30次移动,把盘2从B --> C

1000 0000 54320

第31次移动,把盘1从A --> C

0000 0000 543210

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_32206303/article/details/114817764

智能推荐

python实现dem输出三维模型_资源三号卫星影像立体像对如何提取DEM数据的方法_鲁俊义的博客-程序员资料

原标题:资源三号卫星影像立体像对如何提取DEM数据的方法OrthoMapping是ArcGIS 10.5推出的基于无人机、大飞机、卫星拍摄的原始影像获取专业级别信息产品的生产能力。使用OrthoMapping工具集以及区域网平差操作窗可以生产大规模、高精度的DOM及DSM成果。 需要资源三号卫星影像立体像对样例数据 直接联系北京揽宇方圆即可资源三号(ZY-3)卫星是中国第一颗自主的民用高分辨率立体...

Vivado各个版本综合卡死、死机(PID Not Specified)解决方法_一个早起的程序员的博客-程序员资料_vivado综合一直进行中

vivado在综合的时候出现卡死的现象,不管是关闭windows安全中心或者杀毒软件都不行,停止综合后会出现PID Not Specified,如下图所示:原因:在安装vivado的时侯,我们没有关闭杀毒软件导致vivado安装不完全,解决的方法是卸载掉vivado并且在杀毒软件关闭的前提下重新安装vivado软件即可。...

Spring中@Value注解获取不到配置值_已被格式化的叔叔的博客-程序员资料

一、 碰到过三种情况导致@Value获取不到配置值变量被关键字static修饰 类没有使用@Component及其衍生标签修饰 在Bean初始化时构造方法中引用被@Value修饰的变量 需要获取的配置如下kafka: bootstrap: servers: 192.168.202.131:9092 servers: first: topic: "first_topic" group: "first_grou...

【转】Fluent学习笔记(10)-----多相流模型_Chosen1xh的博客-程序员资料_欧拉多相流模型

【转】Fluent学习笔记(10)-----多相流模型http://blog.sina.com.cn/s/blog_c041a1eb01018gbf.html多相流是指有两种或者两种以上不同相的物质同时存在的一种流体运动。如气井中喷出的流体以天然气为主,但也包含一定数量的液体和泥,这是比两相更复杂的一种流动。工程中多相流系统中的相具有更为广泛的意义。例如具有相同类别的物质,该类物质在所处流...

漏洞之拒绝服务_惬意的下雨天的博客-程序员资料_拒绝服务漏洞

定义:拒绝服务呢是指通过大量的垃圾信息或干扰信息的方法,导致服务器无法向正常用户提供服务的现象基本原理:利用用户的域名向数以千计的服务器发送请求,由于返回目标的数据远远大于请求的数据,数据过于庞大, 解析时间过短,以至于遭受到DDOS攻击,,被利用域名的服务器也至于受到瘫痪的状态攻击原理:利用域名解析,使其服务器无法正常的运行,拒绝正常的接入修补建议: 1、服务器请求验证时需要验证DNS用户身份2、防火墙防御。防火墙是防御DoS攻击最有效的方法。很多厂商的防火墙都注入了专 门针对DoS攻击的功能。防

字符串之正则表达式匹配_闹闹的BaBa的博客-程序员资料_字符串正则表达式匹配的方法

1.本题知识点   字符串、递归2. 题目描述  请实现一个函数用来匹配包括 . 和 * 的正则表达式。模式中的字符 . 表示任意一个字符,而 * 表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配。3. 思路   这题对编程来说没多大难度,...

随便推点

linux软硬连接_ai_xiangjuan的博客-程序员资料_linux做软链接

1.linux 创建连接命令 ln -s 软链接这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s, 具体用法是:ln -s 源文件 目标文件。 当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln...

Flutter App在Windows下开发环境的搭建,以及在AndroidStudio中,创建一个项目并运行_行走在青春路上的小蜜蜂的博客-程序员资料

前言 最近,看一些技术博客,都提到了Flutter,而且有不少大牛和一些公司在着手使用开发Flutter App。然后自己就做了一些简单的了解。Flutter是使用Dart语言开发的,万物皆Widget,和Android的布局文件不一样,Flutter不需要为每一个页面编写xml布局文件。一切界面显示都是在代码中通过Widget来实现显示的。感觉这种方式很新颖,也不同于之前的Hy...

【hive创建动态分区】hive使用动态分区插入数据详解_Data_IT_Farmer的博客-程序员资料_hive创建动态分区表

【hive创建动态分区】hive使用动态分区插入数据详解往hive分区表中插入数据时,如果需要创建的分区很多,比如以表中某个字段进行分区存储,则需要复制粘贴修改很多sql去执行,效率低。因为hive是批处理系统,所以hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。 1.创建一个单一字段分区表create table dpartition(i...

Cocos测试:局域网使用clumsy模拟广域网网络延迟_心因动有的博客-程序员资料

cocos游戏完成后有一些模块在良好的网络条件下运行良好,但在网络延迟的情况下 有可能会崩溃或者报错。我们可以有意的去模拟这种情况。我们经过百度后发现clumsy这款软件可以达到这样的效果。于是搜索下载。西西软件园等多个网站都有下载。下载后我们用管理员权限解压打开 发现 点击start发现报了:failed to start filtering:filed to open

android systemui机制,在AS中开发SystemUI(4):设置项目运行机制_weixin_39610422的博客-程序员资料

1、期望项目如何运行?普通 App 在 run 之后,会编译出 APK,然后 AS 会自动调用 install 命令进行安装,完成安装后会启动 App 的 Launcher Activity。这些 AS 已经帮你自动完成了。如果你的 App 不像 SystemUI 或 Settings 这样贴近 Framework 层,且有入口 Activity,那么完全可以直接运行。如果你开发的系统应用,并不局...