Java 二和LeetCode问题:暴力解决方法不起作用?

Java 二和LeetCode问题:暴力解决方法不起作用?,java,arrays,Java,Arrays,给定一个整数数组,返回两个数字的索引,使它们相加到一个特定的目标 您可以假设每个输入都有一个解决方案,并且不能两次使用同一个元素 例如: 给定nums=[2,7,11,15],target=9 因为nums[0]+nums[1]=2+7=9, 返回[0,1] 我正在尝试一种暴力方法来解决这个问题——使用一个整数I迭代数组的每个元素,并使用另一个整数j在位置I处向整数添加不相同的索引。我相当肯定我的方法是正确的,但我无法使这个java实现正确 类解决方案{ 公共int[]twoSum(int[]n

给定一个整数数组,返回两个数字的索引,使它们相加到一个特定的目标

您可以假设每个输入都有一个解决方案,并且不能两次使用同一个元素

例如:

给定nums=[2,7,11,15],target=9

因为nums[0]+nums[1]=2+7=9, 返回[0,1]

我正在尝试一种暴力方法来解决这个问题——使用一个整数I迭代数组的每个元素,并使用另一个整数j在位置I处向整数添加不相同的索引。我相当肯定我的方法是正确的,但我无法使这个java实现正确

类解决方案{
公共int[]twoSum(int[]nums,int目标){
整数和;
int[]解决方案=新int[2];
外部环路:

对于(inti=0;i在上面的蛮力方法中i==j不是正确的解决方案,因为数组的两个元素必须不同。我应该从0到nums.length,而j应该从i+1到nums.length。

从技术上讲,你的问题就在这里
j=j++;
你需要把它变成
j=++j;
。请参见。

这个问题不适合StackOverlow.Maybe codereview exchange会更合适!?是的,我从解决方案中了解到了这一点,我明白了为什么会这样。但是,我包含的第一个if语句不会考虑任何重复元素索引吗?问题在于Arvind先生解释的j=j++。请按照他评论中的链接进行更多解释。@K.Doe-如果ans之一WER解决了您的问题,您可以通过将其标记为已接受来帮助社区。已接受的答案可以帮助未来的访问者自信地使用该解决方案。