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

智能推荐

thinkphp隐藏index.php-程序员宅基地

文章浏览阅读290次。将下列几行代码添加至public/.htaccess中。最后重启小皮就可以成功隐藏index.php。找到对应要隐藏的网址的文件。_thinkphp隐藏index.php

安全态势感知之我见_企业安全态势感知-程序员宅基地

文章浏览阅读1.3k次。上世纪九十年代,“态势感知”带着它引以为傲的军方(美国空军)血统,空降到信息安全领域。经过几十年的演进,态势感知已经“身居高位”,在美国的国家安全和其他个别行业得到了极大的发展和应用。其目前的标准定义是“在一定的时间和空间范围内,企业的安全态势及其威胁环境的感知。理解这两者的含义以及意味的风险,并对他们未来的状态进行预测。”该定义决定了安全态势感知平台不应该是一个传统的安全攻防产品,而是一个兼具数据分析和异常检测的发现预警平台。在国内,最近几年,尤其是随着2018年国家《网络安全法》的出台,安全态势感知迅_企业安全态势感知

论道攻防|内网防护三大神器带你“行兵布阵”_内网横向威胁感知解决方案-程序员宅基地

文章浏览阅读554次。近年来,随着全球范围内网络实战发生的频率越高,采用的技术难度越高,各国之间也加大对攻防演练的重视。不管是网络实战还是攻防演练的对抗过程中,防守方不仅要防止外部突破,也要。在网络安全形势日趋复杂的环境下,攻击手段层出不穷,攻击工具日益先进。比如,黑客在取得外网可访问的单台服务器权限后,下一步往往以所控制的服务器为跳板向未直接暴露在公网的内网服务器进行进一步渗透。此外,。为了防止企业或机构的内网被攻击者当做后花园畅游,乃至被拖库后还不自知等情况发生,。_内网横向威胁感知解决方案

《LeetCode之每日一题》:88.最长湍流子数组-程序员宅基地

文章浏览阅读108次。最长湍流子数组有关题目题解题目链接:最长湍流子数组有关题目当 A 的子数组 A[i], A[i+1], ..., A[j] 满足下列条件时,我们称其为湍流子数组:若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1];或 若 i <= k < j,当 k 为偶数时,A[k] > A[k+1] ,且当 k 为奇数时, A[k] < A[k+1]。也就是说,如果比较符号在子数组中的

hdu 6712 sakura_av6712-程序员宅基地

文章浏览阅读338次。公式的话官方题解已经非常详细,这里就不再写公式了,大致推导为n步有x+y步是j,k两维移动,有n-x-y步是在i轴上移动。 在x+y的两维中,有y步是在y轴上移动,x步在x轴上移动。然后算上C(n,x+y)*C(x+y,x)*t1^(x/p)*t2(y/p)。就是每个点的贡献。这题卡常卡的太恶心了。#include"bits/stdc++.h"using namespace std;ty..._av6712

解决navigator.geolocation.getCurrentPosition 百度地图定位不准的问题-程序员宅基地

文章浏览阅读1.5w次。最近在做Vue项目中定位时,发现定位总有偏差,查阅资料后发现用navigator.geolocation.getCurrentPosition取到的经纬度属于WGS84坐标,并不能直接用在百度地图的 构建map的point中,需要做转换。转换前代码(贴上主要代码):navigator.geolocation.getCurrentPosition((position) => { const lat = position.coords.latitude; const lng...

随便推点

构建高性能服务(三)Java高性能缓冲设计 vs Disruptor vs LinkedBlockingQueue--转载-程序员宅基地

文章浏览阅读53次。原文地址:http://maoyidao.iteye.com/blog/1663193一个仅仅部署在4台服务器上的服务,每秒向Database写入数据超过100万行数据,每分钟产生超过1G的数据。而每台服务器(8核12G)上CPU占用不到100%,load不超过5。这是怎么做到呢?下面将给你描述这个架构,它的核心是一个高效缓冲区设计,我们对它的要求是:1,该缓存区要尽量简单2,尽量避免..._java高性能框架 dis

博客导航技术索引-程序员宅基地

文章浏览阅读484次。一 读书分享微信读书/知乎严选/京东读书…方法论《如何高效学习》《番茄工作法图解》《刻意练习》《你一年的8760小时》…素质提升《逆商:我们该如何应对坏事件》《关键对话》《非暴力沟通》《逆商》…人物传记《特斯拉》《达芬奇》…IT技术书籍笔记后台《Java编程的逻辑》前端Android《Android进阶之光》《第一行代码》…小程序官方文档数据《python》二 资源分享好的学习资料 = 技术文档 + 源代码 + 视频三 个人博客导航M_博客导航

【Java二十周年】Delphi转行java的一些小感触-程序员宅基地

文章浏览阅读9.2k次。本文纯属一届小码农对java使用过程的体验感触 目录:初遇java编程语言与java的擦肩深入java跨平台性开源支持web的支撑初遇java编程语言刚上大学的时候,完全是个电脑盲。刚入学学的计算机普及知识就是visual basic语言,可视化的组件编程语言,这个语言跟我第一份工作Delphi语言的是一个性质的,都是拖放控件,实现可视化开发,跟现在用着的extjs 中architec

OPC服务器开发之WtOPCSvr(2)_wtopcsvr.dll 安装-程序员宅基地

文章浏览阅读1.7k次。在物联网兴起之前,OPC这玩意就出来了,但是知道和用的人并不多。 OPC技术从某些角度来说,可以说还是掌握在比较少数的一部分人手中。这可能也是由于工控行业相对闭塞和保守的原因造成的。 就目前来说关于OPC开发的SDK或者开源项目还是比较多的,我就说几个基于C++的主流项目,LightOPC、OpcWorkshop、WtopcSvr,国内的也还有一些公司就是基于这几个主流项目然后发布..._wtopcsvr.dll 安装

计算机网络(Computer Networking)基础知识--第二章--应用层_计算机网络外文第二章-程序员宅基地

文章浏览阅读914次。第二章 应用层(Application Layer)首先在这里再次声明一下,本系列博客内容参考北京交通大学软件学院计算机网络课程的教学资料,参考教材为英文教材:《Computer Networking- A Top-Down Approach》。编者英文水平有限,如有部分翻译不准确的地方,还请大家帮忙指正。本系列博客仅供计算机爱好者学习交流使用,未经允许禁止任何形式二改二传及任何个人或商业用途。本章将介绍应用层的内容,应用层主要是为了提供网络功能的一个层,网络应用是计算机网络存在的理由。本章中,我们会_计算机网络外文第二章

zz 圣诞丨太阁所有的免费算法视频资料整理-程序员宅基地

文章浏览阅读125次。 首发于太阁实验室关注专栏 写文章 圣诞丨太阁所有的免费算法视频资料整理Ray Cao · 12 小时前感谢大家一年以来对太阁实验室的支持,我们特地整理了在过去一年中我们所有的原创算法类视频,均为免费观看,方便大家学习。先放一个ACM大神讲解的算法题视频(国外传优酷真的是太不容易了……)。..._太阁ccie版本视频下载

推荐文章

热门文章

相关标签