주어진 숫자를 포함하는 닫힌 간격 배열의 인덱스

Hsolatges

주어진 숫자가 닫힌 간격 (종점 포함)의 간격에 포함될 때를 찾고 해당 간격의 인덱스를보고하는 일반적인 방법을 찾고 있습니다. 나는 이것을 얻었다 :

sets (not a partition): [[0,8], [6,15], [14,25]]
findInSets : 7 -> [0, 1]
findInSets : 30 -> []

// findInSets :: number -> array-{indexes}
const isInRange = (x = 0, [a, b] = [0, 1]) => ([a, b] = [a, b].sort((a, b) => a > b)) && (x >= a && x <= b),
  findInSets = (x = 0, sets = [
    [0, 1]
  ]) => sets.map((subset, index) => (isInRange(x, subset)) ? index : -1).filter(index => index > -1);

console.log(
  findInSets(7, [
    [8, 0],
    [6, 15],
    [14, 25],
    [99, 0]
  ])
);

일부 es6마법, 그것은 (심지어) 깔끔한 될 수 있는가? es6너무 재미 있어요!

Hsolatges

여러분의 기여 덕분에 몇 가지 벤치 마크를 만들었습니다 (http://jsben.ch/#/dszDn) . Thomas (가장 빠름 + 기능적)와 Nina Scholz (확산 작업, 멋지지만 매우 비효율적 )를 기반으로 구축 된이 기능은 다음과 같습니다.

const findInIntervals = (x, intvArr) => intvArr
                                        .filter(
                                          (intv) => Math.min(...intv) <= x && x <= Math.max(...intv)
                                        ).map(intv => intvArr.indexOf(intv));

2017/04에 대한 참고 사항 : 속도를 찾고 있다면 확산 연산자를 피하고 Thomas 버전을 사용하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

주어진 간격에서 배열에서 5 개의 가장 큰 숫자를 찾는 효율적인 방법

분류에서Dev

주어진 간격으로 모든 숫자를 포함

분류에서Dev

주어진 하위 문자열을 포함하는 모든 요소의 인덱스 가져 오기

분류에서Dev

주어진 인덱스를 사용하여 셀형 배열의 행 정렬

분류에서Dev

주어진 텍스트를 포함하는 배열 값 삭제

분류에서Dev

주어진 숫자의 합인 배열 요소를 찾는 방법

분류에서Dev

주어진 사용자를 사용하여 문자열 배열을 검색하고 일치하는 문자열 배열의 인덱스를 반환합니다.

분류에서Dev

주어진 배열 인덱스에 숫자를 삽입 할 수 없습니다.

분류에서Dev

배열에 주어진 범위 내의 숫자가 포함되어 있는지 확인

분류에서Dev

랩 어라운드 조건이있는 인덱스 배열 간의 값의 숫자 합계

분류에서Dev

문자열을 포함하는 배열의 인덱스를 어떻게 얻습니까?

분류에서Dev

주어진 간격으로 모든 숫자를 덮으려는 탐욕스러운 시도

분류에서Dev

주어진 간격으로 모든 숫자를 덮으려는 탐욕스러운 시도

분류에서Dev

주어진 문자열에서 숫자를 포함하는 단어 제거

분류에서Dev

주어진 간격에서 숫자 분포를 사용하여 난수 생성

분류에서Dev

주어진 숫자를 더하는 배열의 숫자 찾기 c ++

분류에서Dev

주어진 숫자를 확인하는 알고리즘은 주어진 배열의 조합의 합계입니다.

분류에서Dev

주어진 수학 함수에서 주어진 간격에 몇 개의 0이 있는지 확인

분류에서Dev

주어진 문자열의 중간 텍스트를 대체하는 sed

분류에서Dev

배열의 숫자 인덱스를 연관 배열로 변환하는 방법

분류에서Dev

모든 짝수 인덱스가 짝수를 포함하고 모든 홀수 인덱스가 주어진 목록의 홀수를 포함하고 있는지 확인하는 프로그램의 문제

분류에서Dev

C ++ : 빈 배열의 첫 번째 인덱스는 주어진 문자를 .resize ()로 채우지 않지만 다음의 다른 모든 문자는

분류에서Dev

주어진 인덱스를 기반으로 배열 재정렬

분류에서Dev

간격에서 배열로 숫자를 넣는 방법? (C 언어)

분류에서Dev

클래스가 주어진 문자열을 포함하는 요소의 ID를 가져옵니다.

분류에서Dev

MongoDB 집계 : 숫자 배열에 음수가 포함되어 있는지 확인하는 간단한 방법

분류에서Dev

튜플이 주어진 인덱스에 의해 특정 요소를 포함하는 경우 목록에서 튜플을 제거합니다.

분류에서Dev

문자열에 NodeJS의 하위 문자열 배열의 텍스트가 포함되어 있는지 확인한 다음 배열에서 해당 하위 문자열의 인덱스를 찾는 방법은 무엇입니까?

분류에서Dev

개선 방법 : Two Sum 정수 배열이 주어지면 두 숫자의 인덱스를 반환합니다 ... 각도를 사용하여

Related 관련 기사

  1. 1

    주어진 간격에서 배열에서 5 개의 가장 큰 숫자를 찾는 효율적인 방법

  2. 2

    주어진 간격으로 모든 숫자를 포함

  3. 3

    주어진 하위 문자열을 포함하는 모든 요소의 인덱스 가져 오기

  4. 4

    주어진 인덱스를 사용하여 셀형 배열의 행 정렬

  5. 5

    주어진 텍스트를 포함하는 배열 값 삭제

  6. 6

    주어진 숫자의 합인 배열 요소를 찾는 방법

  7. 7

    주어진 사용자를 사용하여 문자열 배열을 검색하고 일치하는 문자열 배열의 인덱스를 반환합니다.

  8. 8

    주어진 배열 인덱스에 숫자를 삽입 할 수 없습니다.

  9. 9

    배열에 주어진 범위 내의 숫자가 포함되어 있는지 확인

  10. 10

    랩 어라운드 조건이있는 인덱스 배열 간의 값의 숫자 합계

  11. 11

    문자열을 포함하는 배열의 인덱스를 어떻게 얻습니까?

  12. 12

    주어진 간격으로 모든 숫자를 덮으려는 탐욕스러운 시도

  13. 13

    주어진 간격으로 모든 숫자를 덮으려는 탐욕스러운 시도

  14. 14

    주어진 문자열에서 숫자를 포함하는 단어 제거

  15. 15

    주어진 간격에서 숫자 분포를 사용하여 난수 생성

  16. 16

    주어진 숫자를 더하는 배열의 숫자 찾기 c ++

  17. 17

    주어진 숫자를 확인하는 알고리즘은 주어진 배열의 조합의 합계입니다.

  18. 18

    주어진 수학 함수에서 주어진 간격에 몇 개의 0이 있는지 확인

  19. 19

    주어진 문자열의 중간 텍스트를 대체하는 sed

  20. 20

    배열의 숫자 인덱스를 연관 배열로 변환하는 방법

  21. 21

    모든 짝수 인덱스가 짝수를 포함하고 모든 홀수 인덱스가 주어진 목록의 홀수를 포함하고 있는지 확인하는 프로그램의 문제

  22. 22

    C ++ : 빈 배열의 첫 번째 인덱스는 주어진 문자를 .resize ()로 채우지 않지만 다음의 다른 모든 문자는

  23. 23

    주어진 인덱스를 기반으로 배열 재정렬

  24. 24

    간격에서 배열로 숫자를 넣는 방법? (C 언어)

  25. 25

    클래스가 주어진 문자열을 포함하는 요소의 ID를 가져옵니다.

  26. 26

    MongoDB 집계 : 숫자 배열에 음수가 포함되어 있는지 확인하는 간단한 방법

  27. 27

    튜플이 주어진 인덱스에 의해 특정 요소를 포함하는 경우 목록에서 튜플을 제거합니다.

  28. 28

    문자열에 NodeJS의 하위 문자열 배열의 텍스트가 포함되어 있는지 확인한 다음 배열에서 해당 하위 문자열의 인덱스를 찾는 방법은 무엇입니까?

  29. 29

    개선 방법 : Two Sum 정수 배열이 주어지면 두 숫자의 인덱스를 반환합니다 ... 각도를 사용하여

뜨겁다태그

보관