A Genesys Cloud CX monitoring service receives an array of integer metric values for a completed interval. Return the two largest values without using built-in functions such as max, min, sorted, or sort.
The result must contain the largest value first and the second-largest value second. Values represent individual observations, so duplicates are valid. For example, [8, 8, 3] returns [8, 8]. The algorithm must process the array in one left-to-right pass and use constant extra space.
Implement find_top_two(nums), where nums is a list of integers. Return a two-element list [largest, second_largest]. Assume the input contains at least two elements. Do not modify the input array.
def find_top_two(nums):