packagecom.microsoft.nasa.lev4.controller;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Random;
importjava.util.UUID;
publicclassMicrosoftNASAController {
publicstaticvoidmain(String[]args) {
System.out.println("Hello World!");
}
/**
* needs:
* supply: new inputs
* valuable score ,one left score isamericanastronaulte, right score is from businessuropeanscore
* another score is stable house valuable score
* valuable score is from valueScore 1, and limit at 9
* outputs:
* limit valuable score infinite cost is top 1 means this is lowest cost dollar for this special launch
* more detail:
* fixed inputs:
* $s=[[5,3,4],[1,5,8],[6,4,2]]
* math matrix is this: square and n(row&column size)=3
* 5 3 4
* 1 5 8
* 6 4 2
* racing top 1 team :
* outputs:
* [8,9,7] replace group [5,8,4]
* magic math matrix is
* 8 3 4
* 1 5 9
* 6 7 2
* result is:
* |5-8|+|8-9|+|4-7|=7
*@params
*@return
*/
publicstaticintformingMagicSquare(List<List<Integer>>s) {
if(s==null) {
return0;
}
if(s.isEmpty()) {
return0;
}
intfixedSquareSize=s.size();
if(fixedSquareSize!=3) {
return0;
}
for(List<Integer>intList:s) {
for(IntegerintValScore:intList) {
if(intValScore<1 ||intValScore>9) {
return0;
}
}
}
List<CustDefMetrixValScore>custDefMetrixValScoreList=buildCustDefMetrixValScoreList(s);
return0;
}
publicstaticList<CustDefMetrixValScore> buildCustDefMetrixValScoreList(List<List<Integer>>intList){
if(intList==null) {
returnnull;
}
if(intList.isEmpty()) {
returnnull;
}
if(intList.size()!=3) {
returnnull;
}
List<CustDefMetrixValScore>custDefMetrixValScoreList=newArrayList<CustDefMetrixValScore>();
for(inti= 0;i<intList.size();i++) {
List<Integer>intEleList=intList.get(i);
for(intj= 0;j<intEleList.size();j++) {
IntegerintEle=intEleList.get(j);
CustDefMetrixValScorecustDefMetrixValScore=newCustDefMetrixValScore();
custDefMetrixValScore.setId(UUID.randomUUID().toString());
custDefMetrixValScore.setName("");
custDefMetrixValScore.setValScoreIndex(i+""+j);
custDefMetrixValScore.setValScore(intEle);
custDefMetrixValScore.setRacingScoreDiff(intEle);
custDefMetrixValScoreList.add(custDefMetrixValScore);
}
}
returncustDefMetrixValScoreList;
}
publicstaticList<CustDefMetrixValScore> buildRacingScoreDiff(List<CustDefMetrixValScore>custDefMetrixValScoreList) {
if(custDefMetrixValScoreList==null) {
returnnull;
}
if(custDefMetrixValScoreList.isEmpty()) {
returnnull;
}
if(custDefMetrixValScoreList.size()!=3) {
returnnull;
}
List<CustDefMetrixValScore>custDefMetrixValScoreList1=newArrayList<CustDefMetrixValScore>();
intcount=0;
Randomrandom=newRandom();
while(true) {
for(inti= 0;i<custDefMetrixValScoreList.size();i++) {
intrandomIndexFro=random.nextInt(custDefMetrixValScoreList.size());
intrandomIndexTo=random.nextInt(custDefMetrixValScoreList.size());
intfroScore=custDefMetrixValScoreList.get(randomIndexFro).getValScore();
inttoScore=custDefMetrixValScoreList.get(randomIndexTo).getValScore();
intscoreDiff=froScore-toScore;
if(scoreDiff<1) {
StringscoreDiff2PositiveStr=String.valueOf(scoreDiff);
StringnewScoreDiff2PositiveStr=scoreDiff2PositiveStr.substring(1);
intscoreDiffPositiveCopy=Integer.valueOf(newScoreDiff2PositiveStr);
scoreDiff=scoreDiffPositiveCopy;
}
}
count++;
if(count>1000000) {
break;
}
}
for(inti= 0;i<custDefMetrixValScoreList.size();i++) {
// Integer
}
returnnull;
}
publicstaticList<Integer> build2IntArrSequence(List<CustDefMetrixValScore>custDefMetrixValScoreList){
if(custDefMetrixValScoreList==null) {
returnnull;
}
if(custDefMetrixValScoreList.isEmpty()) {
returnnull;
}
if(custDefMetrixValScoreList.size()!=3) {
returnnull;
}
List<Integer>intList=newArrayList<Integer>();
custDefMetrixValScoreList.forEach(e->{
intList.add(e.getValScore());
});
returnintList;
}
}
classCustDefMetrixValScore{
privateStringid;
privateStringname;
privateStringvalScoreIndex;
privateIntegervalScore;
privateIntegerracingScoreDiff;
publicString getId() {
returnid;
}
publicvoidsetId(Stringid) {
this.id=id;
}
publicString getName() {
returnname;
}
publicvoidsetName(Stringname) {
this.name=name;
}
publicString getValScoreIndex() {
returnvalScoreIndex;
}
publicvoidsetValScoreIndex(StringvalScoreIndex) {
this.valScoreIndex=valScoreIndex;
}
publicInteger getValScore() {
returnvalScore;
}
publicvoidsetValScore(IntegervalScore) {
this.valScore=valScore;
}
publicInteger getRacingScoreDiff() {
returnracingScoreDiff;
}
publicvoidsetRacingScoreDiff(IntegerracingScoreDiff) {
this.racingScoreDiff=racingScoreDiff;
}
}

暂无评论