LeetCode: 두 수의 합 (간단)
8464 단어 데이터 구조
LeetCode 제목: 두 수의 합 (간단)
제목 설명:
정수 배열 nums 와 목표 값 target 을 지정 합 니 다. 이 배열 에서 목표 값 의 두 정 수 를 찾 아 배열 아래 표 시 를 되 돌려 주 십시오.너 는 모든 입력 이 하나의 답안 에 만 대응 할 것 이 라 고 가정 할 수 있다.그러나 배열 의 같은 요 소 는 두 번 사용 할 수 없다.
예시:
주어진 nums = [2, 7, 11, 15], target = 9 nums [0] + nums [1] = 2 + 7 = 9 때문에 [0, 1] 로 돌아 갑 니 다.
출처: 스냅 백 (LeetCode) 링크:https://leetcode-cn.com/problems/two-sum 저작권 은 인터넷 에 귀속 된다.상업 전 재 는 정부 에 연락 하여 권한 을 부여 해 주 십시오. 비 상업 전 재 는 출처 를 밝 혀 주 십시오.
나의 답:
C 언어 판
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int *a = (int *)malloc(sizeof(int) * 2);
*returnSize = 0;
for (int i=0; i<numsSize-1; i++){
for (int j=i+1; j<numsSize; j++){
if (nums[i]+nums[j] == target){
a[0]=i;
a[1]=j;
*returnSize = 2;
return a;
}
}
}
return a;
}
자바 버 전
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] re = new int[2];
for (int i=0; i<nums.length-1; i++){
for (int j=i+1; j<nums.length; j++){
if (nums[i]+nums[j] == target){
re[0] = i;
re[1] = j;
return re;
}
}
}
return re;
}
}
소결:
1. 현재 이런 문 제 를 해결 하 는 데 가장 멍청 한 순환 대 법 만 사용 할 수 있 습 니 다. 저 는 리 뷰 구역 의 대부분 사람들 이 해시 표를 사용 하 는 것 을 보 았 습 니 다. 그러나 현재 데이터 구 조 는 아직 배우 지 못 했 습 니 다. 배 운 후에 최적화 하 겠 습 니 다.2. 수령: C 언어 포인터 의 개념 과 용법 을 간단하게 복습 하고 malloc 함수 신청 주소 공간 을 간단하게 사용 하 는 것 을 배 웠 습 니 다.자바 메커니즘 은 C 언어 와 달리 new 키 워드 를 사용 하여 바 텀 과정 을 무시 합 니 다.3. 부족: LeetCode 평론 구 를 통 해 자신 이 코드 를 쓰 는 것 이 너무 요리 하 다 는 것 을 깨 닫 고 대량의 연습 과 더 좋 은 알고리즘 을 배 워 서 코드 의 질 을 향상 시 켜 야 한다.
(주: 소 백 하나, 지적 을 환영 합 니 다. 널리 양해 해 주 십시오)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.