CoderOilStation(程序员编程助手科技股份责任有限公司)

pageCount

student flip page once time one page

page index print at each page right bottom

page index pairs

/**

* pageCount

* student flip page once time one page

* page index print at each page right bottom

* page index pairs

* first page index pairs only contains one page index : 1st page index on the right page

* last page index pairs : last page index print at left page rightbotomfrom the last pairs

* normal page index pairs contains two page : page index print at each page rightbotom

* count page times to right pageIndex

* forward step times

* backward step times

* statistic

* forward step page times statistic

* backward step page times statistic

* get statistic rankasendingtop 1 step page times

* constraints

* 1<=n<=10to5

* 1<=p<=n

*@paramn

*@paramp

*@return

*/

publicstaticintpageCount(intn,intp) {

intintVal=1;

for(inti=0;i<5;i++) {

intVal*=10;

}

if(n<1 ||n>intVal) {

return0;

}

if(p<1 ||p>n) {

return0;

}

if(n%2==0) {

n+=2;

}

n++;

BooleanfirstPageIndexFlag=false;

intpointerIndexMethodPageIndex=p;

if(pointerIndexMethodPageIndex==1) {

firstPageIndexFlag=true;

return0;

}

BooleanlastPageIndexFlag=false;

if(pointerIndexMethodPageIndex==(n-1-1)) {

lastPageIndexFlag=true;

return0;

}

intpointerIndexMethodPageIndexCopy=0;

intcheckPageIndexForwardTimes=0;

int[]checkPageIndexTimeArr=newint[2];

for(inti=2;i<n;i+=2) {

if(!(pointerIndexMethodPageIndexCopy==0 ||pointerIndexMethodPageIndexCopy==1)) {

return0;

}

checkPageIndexForwardTimes++;

if(!(pointerIndexMethodPageIndex==i)) {

continue;

}

checkPageIndexTimeArr[0]=checkPageIndexForwardTimes;

break;

}

intcheckPageIndexTimeBackwardTimes=0;

for(inti=n-1;i>1;i-=2) {

checkPageIndexTimeBackwardTimes++;

if(!(pointerIndexMethodPageIndex==i)) {

continue;

}

checkPageIndexTimeArr[1]=checkPageIndexTimeBackwardTimes;

break;

}

if(checkPageIndexForwardTimes<checkPageIndexTimeBackwardTimes) {

returncheckPageIndexForwardTimes;

}

returncheckPageIndexTimeBackwardTimes;

}

classIndexPair{

privateStringid;

privateStringname;

privateStringindexPagePairName;

privateStringpageCountStatisticId;

publicString getId() {

returnid;

}

publicvoidsetId(Stringid) {

this.id=id;

}

publicString getName() {

returnname;

}

publicvoidsetName(Stringname) {

this.name=name;

}

publicString getIndexPagePairName() {

returnindexPagePairName;

}

publicvoidsetIndexPagePairName(StringindexPagePairName) {

this.indexPagePairName=indexPagePairName;

}

publicString getPageCountStatisticId() {

returnpageCountStatisticId;

}

publicvoidsetPageCountStatisticId(StringpageCountStatisticId) {

this.pageCountStatisticId=pageCountStatisticId;

}

}

classBookPageIndex{

privateStringid;

privateStringname;

privateIntegerpageIndex;

privateStringindexPairId;

publicString getId() {

returnid;

}

publicvoidsetId(Stringid) {

this.id=id;

}

publicString getName() {

returnname;

}

publicvoidsetName(Stringname) {

this.name=name;

}

publicInteger getPageIndex() {

returnpageIndex;

}

publicvoidsetPageIndex(IntegerpageIndex) {

this.pageIndex=pageIndex;

}

publicString getIndexPairId() {

returnindexPairId;

}

publicvoidsetIndexPairId(StringindexPairId) {

this.indexPairId=indexPairId;

}

}

classPageCountStatistic{

privateStringid;

privateStringname;

privateIntegerforwardStepCountTimes;

privateIntegerbackwardStepCountTimes;

privateIntegerSTEPPAGESTEPONCETIEMONEPAGE=1;

privateBooleansteppageunitpair=true;

publicString getId() {

returnid;

}

publicvoidsetId(Stringid) {

this.id=id;

}

publicString getName() {

returnname;

}

publicvoidsetName(Stringname) {

this.name=name;

}

publicInteger getForwardStepCountTimes() {

returnforwardStepCountTimes;

}

publicvoidsetForwardStepCountTimes(IntegerforwardStepCountTimes) {

this.forwardStepCountTimes=forwardStepCountTimes;

}

publicInteger getBackwardStepCountTimes() {

returnbackwardStepCountTimes;

}

publicvoidsetBackwardStepCountTimes(IntegerbackwardStepCountTimes) {

this.backwardStepCountTimes=backwardStepCountTimes;

}

publicInteger getSTEPPAGESTEPONCETIEMONEPAGE() {

returnSTEPPAGESTEPONCETIEMONEPAGE;

}

publicvoidsetSTEPPAGESTEPONCETIEMONEPAGE(IntegersTEPPAGESTEPONCETIEMONEPAGE) {

STEPPAGESTEPONCETIEMONEPAGE=sTEPPAGESTEPONCETIEMONEPAGE;

}

publicBoolean getSteppageunitpair() {

returnsteppageunitpair;

}

publicvoidsetSteppageunitpair(Booleansteppageunitpair) {

this.steppageunitpair=steppageunitpair;

}

}