Code Kata -Day 1
6184 ワード
Code Kata - Day 1
どうやって近づくの?
for文で配列内のすべての要素値をすばやくチェック<script>
const twoSum = (nums, target) =>{
let arr = []
for(i=0; i<nums.length; i++){
for(j=0; j<nums.length; j++){
if(nums[i] + nums[j] == target){
return [i,j]
}
}
}
}
</script>
example)twoSum([4,9,11,14],13)標準
インデックスをチェックするメカニズム(順番)
0 0
0 1
0 2
0 3
1 0
1 1
1 2
1 3
2 0
2 1
2 2
2 3
3 0
3 1
3 2
3 3(数値はインデックスごと)
全部で16回比較します.
次に、正しい答え[0,1]--2番目の比較を返します.
もっと効果的な方法はありますか?
比較対象を減らす<script>
const twoSum = (nums, target) =>{
let arr = []
for(i=0; i<nums.length-1; i++){
for(j=i+1; j<nums.length; j++){
if(nums[i] + nums[j] == target){
return [i,j]
}
}
}
}
</script>
example)twoSum([4,9,11,14],13)標準
インデックスをチェックするメカニズム(順番)
0 1
0 2
0 3
1 2
1 3
2 3
全部で6回比較します.
つまり、不要な比較を抜き、より気軽に結論を出すことができるのです.
Reference
この問題について(Code Kata -Day 1), 我々は、より多くの情報をここで見つけました
https://velog.io/@hello1358/Code-Kata-Day-1
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
<script>
const twoSum = (nums, target) =>{
let arr = []
for(i=0; i<nums.length; i++){
for(j=0; j<nums.length; j++){
if(nums[i] + nums[j] == target){
return [i,j]
}
}
}
}
</script>
<script>
const twoSum = (nums, target) =>{
let arr = []
for(i=0; i<nums.length-1; i++){
for(j=i+1; j<nums.length; j++){
if(nums[i] + nums[j] == target){
return [i,j]
}
}
}
}
</script>
Reference
この問題について(Code Kata -Day 1), 我々は、より多くの情報をここで見つけました https://velog.io/@hello1358/Code-Kata-Day-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol