首页 > 其他分享 >给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。

时间:2023-04-03 17:11:48浏览次数:29  
标签:target nums int 整数 ints 数组 indexInts

/**
         * 给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。
         *
         * 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
         *
         * 你可以按任意顺序返回答案。
         * 示例 1:
         * 输入:nums = [2,7,11,15], target = 9
         * 输出:[0,1]
         * 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
         * 示例 2:
         * 输入:nums = [3,2,4], target = 6
         * 输出:[1,2]
         * 示例 3:
         * 输入:nums = [3,3], target = 6
         * 输出:[0,1]
         * 提示:
         * 2 <= nums.length <= 104
         * -109 <= nums[i] <= 109
         * -109 <= target <= 109
         * 只会存在一个有效答案
         */

        int[] ints = {3,3};
        int numSum = 6;
        int[] numIndex=sumMethod(ints,numSum);
        for (int i = 0; i < numIndex.length; i++) {
            System.out.print(numIndex[i]);
        }

private static int[] sumMethod(int[] ints, int numSum){
if (ints == null
|| ints.length == 0){
return new int[0];
}
int[] indexInts=new int[2];
for (int i = 0; i < ints.length; i++) {
for (int j = 0; j < ints.length; j++) {
if (i != j
&& ints[i] + ints[j] == numSum){
if (indexInts[0] == j
&& indexInts[1] == i){
System.out.println(ints[i] +"\t"+ ints[j]);
System.out.println(i +"\t"+ j);
}else {
indexInts[0] = i;
indexInts[1] = j;
}
}
}
}
return indexInts;
}


 

标签:target,nums,int,整数,ints,数组,indexInts
From: https://www.cnblogs.com/eternality/p/17283671.html

相关文章

  • 【LBLD】二维数组的花式遍历技巧
    【LBLD】二维数组的花式遍历技巧151.反转字符串中的单词思路:反转整个字符串然后反转每个单词classSolution{public:stringreversePartString(strings,inta,intb){if(a<0||b>=s.size()){cout<<"索引错误!"<<endl;......
  • PUG_关于if 判断和循环对象数组的使用
    PUG_关于if判断和循环对象数组的使用#contentiffollowList.length>0eachvalinfollowList.followingGroupsectionimg.avatarUrl(src=`${val.avatarUrl}`,alt='')......
  • java稀疏数组实现实例
    没有原理讲解,仅记录一个实现代码,作为参考和笔记使用如题,稀疏数组仅在原始数组有效数据较少的情况下起压缩空间的作用实现过程:首先为了方便查看和确认,封装一个打印二维数组的方法publicstaticvoidprintArray(int[][]arrays){for(int[]array:arrays){......
  • 最快速度求两个数组之交集算法
    该题目来自58同城的二面,用最快速度求两个数组之交集算法。比如A={6,2,4,1},B={2,9,4,3},那么A&B={2,4}。算法一:在大多数情况,也就是一般的情况下,大家都能想出最暴力的解法,通常也就是采用遍历或者枚举的办法来解决问题。该题需要找出两个数组的交集,最简单的一个办法就是用A数......
  • 从C#中的数组中删除指定元素的几种方法,超简单
    最近小编同事面试遇到了一道面试题,题目是有个int数组,把输入包含的指定元素删除。这道题主要考察C#基础知识和编码动手能力。小编将以如下几种方法实现,供大家参考。(注:文末还有扩展问题。)1、使用临时数组copy后替换这种方法涉及创建一个比原始数组小一个元素的新数组。然后,将原始......
  • 220602-多维数组的Jaccard指数计算
    背景:计算两个多维数据的交并商a=np.arange(0,9).reshape(-1,3)print(a)b=np.arange(4,13).reshape(-1,3)print(b)c=np.random.rand(4,3)print(c,'\n')A=np.concatenate([a,c],axis=0)B=np.concatenate([b,c],axis=0)print(A)print(B)defjaccard_ind......
  • js数组详解(四):排序API
    1.排序:   自定义排序:冒泡  排序API:arr.sort();    大问题:默认将所有元素转为字符串再按字符串排列         只能对字符串类型的元素正确排序    解决:自定义比较规则:      比较器函数:专门比较任意两值大小的......
  • day 34 1005.K次取反后最大化的数组和 | 134. 加油站 | 135. 分发糖果
    1005.K次取反后最大化的数组和给定一个整数数组A,我们只能用以下方法修改该数组:我们选择某个索引i 并将A[i]替换为-A[i],然后总共重复这个过程K次。(我们可以多次选择同一个索引i。)以这种方式修改数组后,返回数组可能的最大和。示例1:输入:A=[4,2,3],K=1输出:5解释:......
  • php查找判断二维数组中是否含有某个值
    $arr=array(array('a','b'),array('c','d'));in_array('a',$arr);//此时返回的永远都是falsedeep_in_array('a',$arr);//此时返回true值functiondeep_in_array($value,$array){forea......
  • 树状数组
    当使用前缀和或者差分数组的时候,一般会遇到O(n2)的时间复杂度,此时我们可以使用树状数组来对时间复杂度进行优化。树状数组主要是利用树形结构来优化我们前缀和或差分数组的计算复杂度使得O(n)的时间复杂度变为O(logn),使用总的时间复杂度减少到O(nlogn).。构建树状数组的核心是lo......