Sort by

recency

|

1358 Discussions

|

  • + 0 comments

    Here is my c++ solution, you can watch the explanation here : https://youtu.be/SbHCdf_c7ss

    int viralAdvertising(int n) {
        int ans = 0, shared = 5;
        for(int i = 1; i <= n; i++){
            ans += shared / 2;
            shared = (shared/2)*3;
        }
        return ans;
    }  
    
  • + 0 comments
    public static int viralAdvertising(int n) {
            int totalLikes = 0;
            int shares = 5;
            
            for (int i = 1; i <= n; i++) {
                int likes = shares / 2;
                totalLikes += likes;
                
                shares = likes * 3;
            }
    
            return totalLikes;
        }
    
  • + 1 comment
    def viralAdvertising(n):
        shared=5
        liked=shared//2
        cumu=liked
        if n<2:
            return cumu
        while n>1:
            shared=liked*3
            liked=shared//2
            cumu+=liked
            n-=1
        return cumu
    
  • + 0 comments

    RUST:

    fn viralAdvertising(n: i32) -> i32 {
        let mut cumulation: i32 = 0;
        let mut p: i32 = 5;
        
        for _ in 1..=n {
            cumulation += p/2;
            p = p/2 *3;
        }
        cumulation
    }
    
  • + 0 comments

    easy approach

    public static int viralAdvertising(int n) {
        if (n <= 0) return -1;
        int likes = 0;
        int peopleShare = 5; 
        for (int i = 1; i <= n; i++) {
            int peopleLike = (int) Math.floor(peopleShare / 2); // 2
            likes += peopleLike;
            peopleShare = peopleLike * 3;
        }
        return likes;
    }