needs: * supply: new inputs * valuable score ,one left score is american as

0 阅读1分钟
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;
	}
	
}