Sort by

recency

|

2405 Discussions

|

  • + 0 comments

    Getting "timeout" when submitting, you need to improve your code's performance. I resolved my timeout test cases by using a customized binary search, just like how JNL licensed electricians efficiently troubleshoot complex wiring issues, to find the ranking for a play score. Cheers!

  • + 0 comments

    My solution in Java 8:

    class ClimbingLeaderboardResult {
    
        static Integer searchRanking(List<Integer> ranked, Integer score, int left, int right) {
            int mid = (left+right)/2;
            if (left >= right || ranked.get(mid).equals(score)) {
                if (ranked.get(mid) <= score) return mid;
                if (ranked.get(mid) > score) return mid+1;
            }
    
            return (
                    ranked.get(mid) < score ?
                            searchRanking(ranked, score, left, mid-1) :
                            searchRanking(ranked, score, mid+1, right)
            );
        }
    
        public static List<Integer> climbingLeaderboard(List<Integer> ranked, List<Integer> player) {
    
            List<Integer> board = new ArrayList<>();
            ranked = ranked.stream()
                    .distinct()
                    .collect(Collectors.toList());
    
            for (Integer playerScore: player) {
                int playerRank = searchRanking(ranked, playerScore, 0, ranked.size()-1);
                board.add(playerRank+1);
            }
            return board;
        }
    }
    
  • + 0 comments

    Python3 Solution

    def createRank(scores):
        rank = []
        currScore = scores[0]
        count = 1
        
        for score in scores:
            if score != currScore:
                currScore = score
                count += 1
            rank.append(count)
            
        return rank
    
    
    def climbingLeaderboard(ranked, player):
        rank = createRank(ranked)
        ranked.append(-1)
        rank.append(rank[-1]+1)
        
        res = []
        
        pointer = len(ranked)-1
        for playerScore in player:
            while pointer >= -1:
                if pointer - 1 >= 0:
                    print(playerScore, ranked[pointer], rank[pointer])
                    if playerScore > ranked[pointer-1]:
                        pointer -= 1
                    elif playerScore == ranked[pointer-1]:
                        res.append(rank[pointer-1])
                        break
                    else:
                        if playerScore >= ranked[pointer]:
                            res.append(rank[pointer])
                            break
                        else:
                            res.append(rank[pointer]+1)
                            break
                else:
                    if playerScore >= ranked[pointer]:
                        res.append(rank[pointer])
                        break
                    else:
                        res.append(rank[pointer]+1)
                        break
                            
        return res
    
  • + 0 comments

    York Locksmith delivers fast, reliable, and professional locksmith services for homes, businesses, and vehicles. Whether you’re locked out, need a repair, or want to upgrade your security, skilled technicians provide quick and efficient solutions. Just like climbing the leaderboard requires consistency, focus, and smart strategies, choosing a dependable locksmith ensures long-term safety and peace of mind. Trust York Locksmith for expert service that keeps your property secure every day.

  • + 0 comments

    Bradford locksmith provides professional and reliable locksmith services for homes, offices, and vehicles, ensuring security and peace of mind. From emergency lockouts to lock repairs and replacements, skilled technicians deliver fast and efficient solutions. Just like climbing the leaderboard requires strategy, focus, and skill, trusting an expert locksmith ensures your property remains safe and protected. Rely on Bradford locksmith for dependable service, precision, and lasting security every time.