Sort by

recency

|

1942 Discussions

|

  • + 0 comments

    Irks me to no end that this question seeks to judge my abilities as a C++ developer, yet it cannot even be assed to use move semantics when copying freaking vectors around or to use std::vector<>::emplace_back() when inserting strings into a vector. or how about instead of copying all of these strings by value, you simply break them up using std::string_view?

    So you're essentially judging the speed at which I can decimate the heap. Nice.

  • + 0 comments

    C++ solution:

    void minimumBribes(vector<int> q) {
        int totalBribes = 0;
    
        for (int i = 0; i < q.size(); i++) {
            if (q[i] - (i + 1) > 2) { // If the difference between an elements' initial position and it's final position is greater than 2,
                // that means it moved to the left more than twice, which means it bribed more than twice. That means the line's Too Chaotic.
                cout << "Too chaotic" << endl;
                return;
            }
    
            // Start from one position ahead (in the line) of where q[i] *could* have started (i.e at an index of either index 0 or q[i] - 2, whichever is higher). 
            // Count how many people with a higher position than q[i] are in front of q[i] in the queue (i.e behind q[i] in the array), 
            // because each of those people must have bribed their way past q[i].
            for (int j = max(0, q[i] - 2); j < i; j++) {
                if (q[j] > q[i]) { 
                    totalBribes++;
                }
            }
        }
    
        cout << totalBribes << endl;
    }
    
  • + 0 comments

    Hi. I did not understand the input. Are there more than one array and we need to promediate? and the 3rd expected output is just 4. And what happend with the two caothic string? Thanks!

  • + 0 comments
    def minimumBribes(q):
        b = 0
        for i in range(len(q)):
            if q[i] - (i + 1) > 2:
                print("Too chaotic")
                return
                
            for j in range(max(0, q[i] - 2), i):
                if q[j] > q[i]:
                    b += 1
                    
        print(b)
        
    
  • + 0 comments
    void minimumBribes(vector<int> q) {
        int bride=0;
        int i=0;
        for(i=0;i<q.size()-1;i++){
            int temp=0;
            for(int j=i+1;j<q.size();j++)
            {
                
                if(q[i] > q[j]){
                    temp++;
                }
                if(temp > 2)
                {
                    cout<<"Too chaotic"<<endl;
                    break;
                }
            }
            if(temp > 2)
            {
                break;
            }
            bride=bride+temp;
        }
        if(i==q.size()-1)
            cout<<bride<<endl;