Python | C++ | Easy to understand  with comments | O(1) Space | O(n) Time
Explanation:\nIf k is greater than array length, then max will be the winner (As we have found in one loop) becoz when we reach at Max, it is not going to chang
**Explanation:**\nIf k is greater than array length, then max will be the winner (As we have found in one loop) becoz when we reach at Max, it is not going to change.\n\nFor more detailed explanation:- Have a look at **Replied for First doubt comment**.\n\n*Note:-If you have any doubt, Free to ask me, Please Upvote if you like it.*\n\n**Python3**\n```\nclass Solution:\n    def getWinner(self, arr: List[int], k: int) -> int:\n        winner = arr[0]\n        wins = 0\n        for i in range(1,len(arr),1):\n            if(winner > arr[i]): wins+=1  # increment wins count   \n            else:\n                wins = 1    # new winner\n                winner = arr[i]\n            if(wins == k): break    # if wins count is k, then return winner\n                \n        return winner\n```\n\n**C++**\n```\nclass Solution {\npublic:\n    int getWinner(vector<int>& arr, int k) {\n        int winner = arr[0];\n        int wins = 0;\n        for (int i=1; i<arr.size();i++){\n            if(winner > arr[i])\n                wins+=1;  //increment wins count   \n            else{\n                wins = 1;    //new winner\n                winner = arr[i];               \n            }\n            if(wins == k)\n                break;    //if wins count is k, then return winner       \n        }\n        return winner;\n    }\n};\n```
['C', 'C++', 'Python3']