leetcode JS 구현

2104 단어 JS
763  partition labels
입력: S = "ababcbacadefegdehijhklij" 출력: [9, 7, 8] 해석: 구분 결 과 는 "ababcbaca", "defegde", "hijhklij" 입 니 다.모든 자모 가 한 부분 에 가장 많이 나타난다."ababcbacadefegde" 와 같이 "hijhklij" 의 구분 은 잘못된 것 입 니 다. 분 단 된 부분 수가 비교적 적 기 때 문 입 니 다. 
주의:
4. 567917. 4. 567914. 의 길 이 는 4. 567914 사이 에 있다
4. 567917. 4. 567914. 소문 자 만 포함 합 니 다. 4. 567914. 부터 4. 567914..
function partition_lable (str) {
  function count_times(str) {
    var count_times = []; //  a-z         
    for(var j =0 ; j<26; j++) {count_times.push([]);}
    for(var i=0; ilast) {
        last = Math.max.apply(null, count_times[str[j].charCodeAt()-97])
      }
    }
    result.push(last-i+1);
    i= last+1;
  }
  return result
}

762  Prime Number of set Bits in Binary Represention
Given two integers L and R, find the count of numbers in the range [L, R] (inclusive) having a prime number of set bits in their binary representation.
(Recall that the number of set bits an integer has is the number of 1s present when written in binary. For example, 21 written in binary is 10101 which has 3 set bits. Also, 1 is not a prime.)
Example 1: Input: L = 6, R = 10 Output: 4 Explanation: 6 -> 110 (2 set bits, 2 is prime) 7 -> 111 (3 set bits, 3 is prime) 9 -> 1001 (2 set bits , 2 is prime) 10->1010 (2 set bits , 2 is prime)
Note:
  • L, R will be integers L <= R in the range [1, 10^6].
  • R - L will be at most 10000.
  • function countPrimeSetBits(L,R) {
      function isPrime(num) {
        if(num<2) return 0;
        if (num === 2) return 1;
        for(var i=2; i<= Math.ceil(num / 2); i++) {if(num%i===0) {return 0}}
        return 1
      }
      var res = 0;
      console.log('L=',typeof L);
      console.log('R=',R);
      for(var j = L; j<=R;j++) {
        res = res + isPrime(j.toString(2).replace(/0/g,'').length);
      }
      return res;
    }

    좋은 웹페이지 즐겨찾기