------------恢復內容開始------------
1.用scanner讀進來 用nextline得到所有輸入 存在字串s1里
輸入:nums = [2,17,11,15], target = 9
2.用for回圈+字串的charAt函式,再建立一個整數陣列,
將讀進來的字串s1判斷一下,數字和逗號留下,用來區分和獲取數值
得到:50 44 49 55 44 49 49 44 49 53 44 57(這時44代表逗號,用于區分數值)
3.由于數值這時是以字符的形式讀入的,想得到原先的數值得-48
得到:2 -4 7 -4 1 1 -4 1 5 -4 9
4.我這么做的目的是得到 陣列 nums = [2,7,11,15] 和 目標值 target = 9
1).陣列中的-4代表著逗號,將每個目標值隔開 而且 例如15 是以1和5的形式存放的,
2).我們要利用好-4,將每個被分別存放的數值復原
3).我選擇設定一個stopflag=0,遇到-4則stopflag=1 完成數值復原操作
得到:nums =[2,7,11,15] 和 target = 9
5.最后就是TwoSum函式的撰寫與呼叫,十分簡單看代碼即可明白
附上代碼
函式部分
`
public class Solution {
public int[] twoSum(int[] nums, int target) {
int [] answer = new int[2];
int answer_one = 0;
int answer_two = 0;
int end = 0;
for(int i = 0 ;i<nums.length; i++)
{
answer_one = i;
for(int j = 0 ;j<nums.length; j++)
{
answer_two = j;
if(nums[i]nums[j] && ij)
{
continue;
}else
{
if(nums[i]+nums[j]==target)
{
end = 1;
break;
}
}
}
if (end==1)
{
break;
}
}
answer[0] = answer_one;
answer[1] = answer_two;
return answer;
}
`
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/343944.html
標籤:其他
