传递一个数组和一个特定的目标整型数字,返回的两个数组元素相加之后和目标整型数字相等的数组的下标组合集

import java.util.ArrayList;
import java.util.List;

public class LeetCodeTest2 {
    public static void main(String[] args) {
        int[] intArr=new int[]{2,7,11,15};
        List<CustomerIntIndex> customerIntIndexList=getArrIndex(intArr,9);
        System.out.println(customerIntIndexList);
    }

    public static List<CustomerIntIndex> getArrIndex(int[] intArr, int targetNum){
        int length = intArr.length;
        int resultVal=1;
        for (int i = 0; i < 4; i++) {
            resultVal*=10;
        }
        if(length<2 || length>resultVal){
            return null;
        }
        int resultVal1=1;
        for (int i = 0; i < 9; i++) {
            resultVal1*=10;
        }
        resultVal1=resultVal1*(-1);
        int resultVal2=1;
        for (int i = 0; i < 9; i++) {
            resultVal2*=10;
        }
        if(targetNum<resultVal1 || targetNum>resultVal2){
            return null;
        }
        for (int i = 0; i < intArr.length; i++) {
            int intElement=intArr[i];
            if(intElement<resultVal1 || intElement>resultVal2){
                return null;
            }
        }
        ArrayList<CustomerIntIndex> arrayList = new ArrayList<CustomerIntIndex>();
        for (int i = 0; i < intArr.length-1; i++) {
            int intArrayEle = intArr[i];
            CustomerIntEle customerIntEle = new CustomerIntEle();
            customerIntEle.setIdIndex(i);
            customerIntEle.setIntArrEle(intArrayEle);
            for (int j = i+1; j < intArr.length; j++) {
                int intArrayEle2 = intArr[j];
                CustomerIntEle customerIntEle2 = new CustomerIntEle();
                customerIntEle2.setIdIndex(j);
                customerIntEle2.setIntArrEle(intArrayEle2);
                int tempSum=intArrayEle+intArrayEle2;
                if(tempSum==targetNum){
                    CustomerIntIndex customerIntIndex = new CustomerIntIndex();
                    customerIntIndex.setIdIndex1(i);
                    customerIntIndex.setIdIndex2(j);
                    arrayList.add(customerIntIndex);
                }
            }
        }
        return arrayList;
    }
}
class CustomerIntIndex{
    private Integer idIndex1;
    private Integer idIndex2;

    public Integer getIdIndex1() {
        return idIndex1;
    }
    public void setIdIndex1(Integer idIndex1) {
        this.idIndex1 = idIndex1;
    }
    public Integer getIdIndex2() {
        return idIndex2;
    }
    public void setIdIndex2(Integer idIndex2) {
        this.idIndex2 = idIndex2;
    }
    @Override
    public String toString() {
        return "["+idIndex1+","+idIndex2+"]";
    }
}
class CustomerIntEle{
    private Integer idIndex;
    private Integer intArrEle;
    public int getIdIndex() {
        return idIndex;
    }
    public void setIdIndex(int idIndex) {
        this.idIndex = idIndex;
    }
    public int getIntArrEle() {
        return intArrEle;
    }
    public void setIntArrEle(int intArrEle) {
        this.intArrEle = intArrEle;
    }
}

#读研or工作,哪个性价比更高?##讲讲我的真实离职原因##传音控股求职进展汇总##歌尔求职进展汇总#
全部评论

相关推荐

找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。 你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。 工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务