needs: * supply: new inputs * valuable scor
package com.microsoft.nasa.lev4.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.UUID;
public class MicrosoftNASAController {
public static void main(String[] args) {
System.out.println("Hello World!");
}
/**
* needs:
* supply: new inputs
* valuable score ,one left score is american astronaulte, right score is from business uropean score
* 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
* @param s
* @return
*/
public static int formingMagicSquare(List<List<Integer>> s) {
if(s==null) {
return 0;
}
if(s.isEmpty()) {
return 0;
}
int fixedSquareSize=s.size();
if(fixedSquareSize!=3) {
return 0;
}
for(List<Integer> intList : s) {
for(Integer intValScore : intList) {
if(intValScore<1 || intValScore>9) {
return 0;
}
}
}
List<CustDefMetrixValScore> custDefMetrixValScoreList=buildCustDefMetrixValScoreList(s);
return 0;
}
public static List<CustDefMetrixValScore> buildCustDefMetrixValScoreList(List<List<Integer>> intList){
if(intList==null) {
return null;
}
if(intList.isEmpty()) {
return null;
}
if(intList.size()!=3) {
return null;
}
List<CustDefMetrixValScore> custDefMetrixValScoreList=new ArrayList<CustDefMetrixValScore>();
for (int i = 0; i < intList.size(); i++) {
List<Integer> intEleList=intList.get(i);
for (int j = 0; j < intEleList.size(); j++) {
Integer intEle=intEleList.get(j);
CustDefMetrixValScore custDefMetrixValScore=new CustDefMetrixValScore();
custDefMetrixValScore.setId(UUID.randomUUID().toString());
custDefMetrixValScore.setName("");
custDefMetrixValScore.setValScoreIndex(i+""+j);
custDefMetrixValScore.setValScore(intEle);
custDefMetrixValScore.setRacingScoreDiff(intEle);
custDefMetrixValScoreList.add(custDefMetrixValScore);
}
}
return custDefMetrixValScoreList;
}
public static List<CustDefMetrixValScore> buildRacingScoreDiff(List<CustDefMetrixValScore> custDefMetrixValScoreList) {
if(custDefMetrixValScoreList==null) {
return null;
}
if(custDefMetrixValScoreList.isEmpty()) {
return null;
}
if(custDefMetrixValScoreList.size()!=3) {
return null;
}
List<CustDefMetrixValScore> custDefMetrixValScoreList1=new ArrayList<CustDefMetrixValScore>();
int count=0;
Random random=new Random();
while(true) {
for (int i = 0; i < custDefMetrixValScoreList.size(); i++) {
int randomIndexFro=random.nextInt(custDefMetrixValScoreList.size());
int randomIndexTo=random.nextInt(custDefMetrixValScoreList.size());
int froScore=custDefMetrixValScoreList.get(randomIndexFro).getValScore();
int toScore=custDefMetrixValScoreList.get(randomIndexTo).getValScore();
int scoreDiff=froScore-toScore;
if(scoreDiff<1) {
String scoreDiff2PositiveStr=String.valueOf(scoreDiff);
String newScoreDiff2PositiveStr=scoreDiff2PositiveStr.substring(1);
int scoreDiffPositiveCopy=Integer.valueOf(newScoreDiff2PositiveStr);
scoreDiff=scoreDiffPositiveCopy;
}
}
count++;
if(count>1000000) {
break;
}
}
for (int i = 0; i < custDefMetrixValScoreList.size(); i++) {
// Integer
}
return null;
}
public static List<Integer> build2IntArrSequence(List<CustDefMetrixValScore> custDefMetrixValScoreList){
if(custDefMetrixValScoreList==null) {
return null;
}
if(custDefMetrixValScoreList.isEmpty()) {
return null;
}
if(custDefMetrixValScoreList.size()!=3) {
return null;
}
List<Integer> intList=new ArrayList<Integer>();
custDefMetrixValScoreList.forEach(e->{
intList.add(e.getValScore());
});
return intList;
}
}
class CustDefMetrixValScore{
private String id;
private String name;
private String valScoreIndex;
private Integer valScore;
private Integer racingScoreDiff;
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 getValScoreIndex() {
return valScoreIndex;
}
public void setValScoreIndex(String valScoreIndex) {
this.valScoreIndex = valScoreIndex;
}
public Integer getValScore() {
return valScore;
}
public void setValScore(Integer valScore) {
this.valScore = valScore;
}
public Integer getRacingScoreDiff() {
return racingScoreDiff;
}
public void setRacingScoreDiff(Integer racingScoreDiff) {
this.racingScoreDiff = racingScoreDiff;
}
}
Java技术 文章被收录于专栏
JavaEE技术 编程开发经验 企业通用技术
查看2道真题和解析