고전 문제 형 은 얕 은 것 에서 깊 은 것 으로, 자바 및 Python 에서 이 루어 지 며, 알고리즘 을 포함 합 니 다.
위 챗 은 공공 번호 에 관심 을 가지 고 있 습 니 다. 밤 추위 정 보 는 모든 사용자 에 게 더욱 양질 의 기술 도움 과 자원 공급 을 무료 로 제공 하 는 데 힘 쓰 고 있 습 니 다. 지원 에 감 사 드 립 니 다!
1. 두 수의 합
정수 배열 nums 와 목표 값 target 을 지정 합 니 다. 이 배열 에서 목표 값 의 두 정 수 를 찾 아 배열 아래 표 시 를 되 돌려 주 십시오.너 는 모든 입력 이 하나의 답안 에 만 대응 할 것 이 라 고 가정 할 수 있다.그러나 배열 의 같은 요 소 는 두 번 사용 할 수 없다.
예시:
nums = [2, 7, 11, 15], target = 9
nums[0] + nums[1] = 2 + 7 = 9
[0, 1]
게 이 트 웨 이 (Java):
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (map.containsKey(complement)) {
return new int[] { map.get(complement), i };
}
map.put(nums[i], i);
}
throw new IllegalArgumentException("No two sum solution");
}
}
파 승 (Python):
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
hashmap = {}
for idx, num in enumerate(nums):
if target - num in hashmap:
return [hashmap[target - num],idx]
else:
hashmap[num] = idx
2. 정수 반전
32 비트 의 기호 정 수 를 보 여 주 려 면 이 정수 중의 모든 숫자 를 반전 시 켜 야 한다.
: 123
: 321
2:
: -123
: -321
3:
: 120
: 21
:
주의: 우리 의 환경 이 32 비트 의 기호 정수 만 저장 할 수 있다 고 가정 하면 그 수치 범 위 는 [- 231, 231 - 1] 이다.이 가설 에 따 르 면 반전 후 정수 가 넘 치면 0 으로 돌아 갑 니 다.
게 이 트 웨 이 (Java):
class Solution {
public int reverse(int x) {
int res = 0;
while(x!=0) {
//
int tmp = x%10;
// 32
if (res>214748364 || (res==214748364 && tmp>7)) {
return 0;
}
// 32
if (res<-214748364 || (res==-214748364 && tmp<-8)) {
return 0;
}
res = res*10 + tmp;
x /= 10;
}
return res;
}
}
파 승 (Python):
3. 답문 수
하나의 정수 가 회 문수 인지 아 닌 지 를 판단 하 다.회 문 수 는 정서 (왼쪽 에서 오른쪽으로) 와 역순 (오른쪽 에서 왼쪽으로) 이 같은 정 수 를 말한다.
: 121
: true
2:
: -121
: false
: , -121 。 , 121- 。 。
: 10
: false
: , 01 。 。
진급: 이 문 제 를 해결 하기 위해 정 수 를 문자열 로 바 꾸 지 않 을 수 있 습 니까?
게 이 트 웨 이 (Java):
class Solution {
public boolean isPalindrome(int x) {
if (x < 0 || (x % 10 == 0 && x != 0)) return false;
int res = 0;
while (x > res) {
res = res*10 + x%10;
x /= 10;
}
return x == res || x == res / 10;
}
}
파 승 (Python):
4. 로마 숫자 회전 정수
로마 숫자 는 다음 과 같은 7 가지 문 자 를 포함한다. I, V, X, L, C, D 와 M.
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
예 를 들 어 로마 숫자 2 를 II 로 쓰 면 두 개의 병렬 1 이다.12. XII 로 쓰 면 X + II 입 니 다.27. XXVII, 즉 XX + V + II 라 고 쓰 세 요.일반적으로 로마 숫자 중 작은 숫자 는 큰 숫자의 오른쪽 에 있다.그러나 4 를 III 로 쓰 지 않 고 IV 로 쓰 는 특례 도 있다.숫자 1 은 숫자 5 의 왼쪽 에 있 고 표시 하 는 수 는 대수 5 에서 소수 1 로 얻 은 수치 4 와 같다.마찬가지 로 숫자 9 는 IX 를 나타 낸다.이 특수 한 규칙 은 다음 과 같은 여섯 가지 상황 에 만 적용 된다. I 는 V (5) 와 X (10) 의 왼쪽 에 놓 고 4 와 9 를 표시 할 수 있다.X 는 L (50) 과 C (100) 의 왼쪽 에 놓 아 40 과 90 을 표시 할 수 있다.C 는 D (500) 와 M (1000) 의 왼쪽 에 놓 아 400 과 900 을 표시 할 수 있다.로마 숫자 를 정 해서 정수 로 변환 합 니 다.입력 은 1 에서 3999 범위 내 에서 확보 합 니 다.
: "III"
: 3
: "IV"
: 4
: "IX"
: 9
: "LVIII"
: 58
: L = 50, V= 5, III = 3.
: "MCMXCIV"
: 1994
: M = 1000, CM = 900, XC = 90, IV = 4.
게 이 트 웨 이 (Java):
import java.util.*;
class Solution {
public int romanToInt(String s) {
int sum = 0;
int preNum = getValue(s.charAt(0));
for (int i = 1;i < s.length();i++){
int num = getValue(s.charAt(i));
if (preNum < num)
sum -= preNum;
else
sum += preNum;
preNum = num;
}
sum += preNum;
return sum;
}
private int getValue(char ch) {
switch(ch) {
case 'I': return 1;
case 'V': return 5;
case 'X': return 10;
case 'L': return 50;
case 'C': return 100;
case 'D': return 500;
case 'M': return 1000;
default: return 0;
}
}
}
파 승 (Python):
5. 최 장 공통 접두사
문자열 배열 의 가장 긴 공공 접 두 사 를 찾기 위해 함 수 를 만 듭 니 다.공공 접두사 가 존재 하지 않 으 면 빈 문자열 을 되 돌려 줍 니 다.
: ["flower","flow","flight"]
: "fl"
2:
: ["dog","racecar","car"]
: ""
: 。
설명: 모든 입력 은 소문 자 a - z 만 포함 합 니 다.
게 이 트 웨 이 (Java):
class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs.length == 0)
return "";
String str = strs[0];
for (int i=0; i<strs.length; i++){
int j = 0;
for (; j<str.length() && j<strs[i].length(); j++)
if (str.charAt(j) != strs[i].charAt(j))
break;
str = str.substring(0, j);
if (str.equals(""))
return str;
}
return str;
}
}
파 승 (Python):
업데이트 중 입 니 다. 오류 가 있 거나 더 좋 은 해석 이 있 으 면 지적 해 주 십시오. 감사합니다.
문제 가 있 으 면 위 챗 공식 번호 인 '밤 추위 정보' 에 주목 하 세 요.
위 챗 은 공공 번호 에 관심 을 가지 고 있 습 니 다. 밤 추위 정 보 는 모든 사용자 에 게 더욱 양질 의 기술 도움 과 자원 공급 을 무료 로 제공 하 는 데 힘 쓰 고 있 습 니 다. 지원 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.