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 right botom from the last pairs
* normal page index pairs contains two page : page index print at each page right botom
* 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 rank asending top 1 step page times
* constraints
* 1<=n<=10to5
* 1<=p<=n
* @param n
* @param p
* @return
*/
public static int pageCount(int n, int p) {
int intVal=1;
for(int i=0;i<5;i++) {
intVal*=10;
}
if(n<1 || n>intVal) {
return 0;
}
if(p<1 || p>n) {
return 0;
}
if(n%2==0) {
n+=2;
}
n++;
Boolean firstPageIndexFlag=false;
int pointerIndexMethodPageIndex=p;
if(pointerIndexMethodPageIndex==1) {
firstPageIndexFlag=true;
return 0;
}
Boolean lastPageIndexFlag=false;
if(pointerIndexMethodPageIndex==(n-1-1)) {
lastPageIndexFlag=true;
return 0;
}
int pointerIndexMethodPageIndexCopy=0;
int checkPageIndexForwardTimes=0;
int[] checkPageIndexTimeArr=new int[2];
for(int i=2;i<n;i+=2) {
if(!(pointerIndexMethodPageIndexCopy==0 || pointerIndexMethodPageIndexCopy==1)) {
return 0;
}
checkPageIndexForwardTimes++;
if(!(pointerIndexMethodPageIndex==i)) {
continue;
}
checkPageIndexTimeArr[0]=checkPageIndexForwardTimes;
break;
}
int checkPageIndexTimeBackwardTimes=0;
for(int i=n-1;i>1;i-=2) {
checkPageIndexTimeBackwardTimes++;
if(!(pointerIndexMethodPageIndex==i)) {
continue;
}
checkPageIndexTimeArr[1]=checkPageIndexTimeBackwardTimes;
break;
}
if(checkPageIndexForwardTimes<checkPageIndexTimeBackwardTimes) {
return checkPageIndexForwardTimes;
}
return checkPageIndexTimeBackwardTimes;
}
}
class IndexPair{
private String id;
private String name;
private String indexPagePairName;
private String pageCountStatisticId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIndexPagePairName() {
return indexPagePairName;
}
public void setIndexPagePairName(String indexPagePairName) {
this.indexPagePairName = indexPagePairName;
}
public String getPageCountStatisticId() {
return pageCountStatisticId;
}
public void setPageCountStatisticId(String pageCountStatisticId) {
this.pageCountStatisticId = pageCountStatisticId;
}
}
class BookPageIndex{
private String id;
private String name;
private Integer pageIndex;
private String indexPairId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getPageIndex() {
return pageIndex;
}
public void setPageIndex(Integer pageIndex) {
this.pageIndex = pageIndex;
}
public String getIndexPairId() {
return indexPairId;
}
public void setIndexPairId(String indexPairId) {
this.indexPairId = indexPairId;
}
}
class PageCountStatistic{
private String id;
private String name;
private Integer forwardStepCountTimes;
private Integer backwardStepCountTimes;
private Integer STEPPAGESTEPONCETIEMONEPAGE=1;
private Boolean steppageunitpair=true;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getForwardStepCountTimes() {
return forwardStepCountTimes;
}
public void setForwardStepCountTimes(Integer forwardStepCountTimes) {
this.forwardStepCountTimes = forwardStepCountTimes;
}
public Integer getBackwardStepCountTimes() {
return backwardStepCountTimes;
}
public void setBackwardStepCountTimes(Integer backwardStepCountTimes) {
this.backwardStepCountTimes = backwardStepCountTimes;
}
public Integer getSTEPPAGESTEPONCETIEMONEPAGE() {
return STEPPAGESTEPONCETIEMONEPAGE;
}
public void setSTEPPAGESTEPONCETIEMONEPAGE(Integer sTEPPAGESTEPONCETIEMONEPAGE) {
STEPPAGESTEPONCETIEMONEPAGE = sTEPPAGESTEPONCETIEMONEPAGE;
}
public Boolean getSteppageunitpair() {
return steppageunitpair;
}
public void setSteppageunitpair(Boolean steppageunitpair) {
this.steppageunitpair = steppageunitpair;
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。