1426. Counting Elements
선택한 UI 언어에 맞게 문제 텍스트를 러시아어에서 번역합니다. 코드는 변경하지 않습니다.
Дан 정수 배열 arr, посчитайте, сколько elementов x в нем есть таких, что x + 1 также находится в arr. Если в arr есть дубликаты, считайте их отдельно.
예제:
Input: arr = [1,2,3]
Output: 2
Explanation: 1 and 2 are counted cause 2 and 3 are in arr.
C# 해법
매칭됨/원본public class Solution {
public int CountElements(int[] arr) {
int count = 0;
foreach (int x in arr) {
if (IntegerInArray(arr, x + 1)) {
count++;
}
}
return count;
}
public bool IntegerInArray(int[] arr, int target) {
foreach (int x in arr) {
if (x == target) {
return true;
}
}
return false;
}
}
C++ 해법
자동 초안, 제출 전 검토#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public int CountElements(vector<int>& arr) {
int count = 0;
foreach (int x in arr) {
if (IntegerInArray(arr, x + 1)) {
count++;
}
}
return count;
}
public bool IntegerInArray(vector<int>& arr, int target) {
foreach (int x in arr) {
if (x == target) {
return true;
}
}
return false;
}
}
Java 해법
매칭됨/원본class Solution {
public int countElements(int[] arr) {
int count = 0;
for (int x : arr) {
if (integerInArray(arr, x + 1)) {
count++;
}
}
return count;
}
public boolean integerInArray(int[] arr, int target) {
for (int x : arr) {
if (x == target) {
return true;
}
}
return false;
}
}
JavaScript 해법
매칭됨/원본class Solution {
countElements(arr) {
let count = 0;
for (let x of arr) {
if (this.integerInArray(arr, x + 1)) {
count++;
}
}
return count;
}
integerInArray(arr, target) {
for (let x of arr) {
if (x === target) {
return true;
}
}
return false;
}
}
Python 해법
매칭됨/원본class Solution:
def countElements(self, arr: List[int]) -> int:
def integerInArray(arr, target):
for x in arr:
if x == target:
return True
return False
count = 0
for x in arr:
if integerInArray(arr, x + 1):
count += 1
return count
Go 해법
매칭됨/원본package main
func countElements(arr []int) int {
count := 0
for _, x := range arr {
if integerInArray(arr, x+1) {
count++
}
}
return count
}
func integerInArray(arr []int, target int) bool {
for _, x := range arr {
if x == target {
return true
}
}
return false
}
Algorithm
Создайте вспомогательную функцию для проверки, содержится ли element в 배열е.
Итерируйте по каждому elementу 배열а и используйте вспомогательную функцию для проверки, содержится ли element x + 1 в 배열е.
Увеличьте счетчик, если x + 1 найден, и return значение счетчика.
😎
Vacancies for this task
활성 채용 with overlapping task tags are 표시됨.
아직 활성 채용이 없습니다.