The function has a nested loop: the outer loop runs i from 0 to n-1 (n iterations), and for each i, the inner loop runs j from i down to 1, executing i times. Total iterations = sum of i for i=0 to n-1 = n(n-1)/2, which is O(n^2). This is a classic triangular/arithmetic series pattern, so the time complexity is theta(n^2), not linear, logarithmic, or n log n — those growth rates would require the inner loop to be independent of n or shrink geometrically, which isn't the case here since the inner loop bound grows linearly with the outer index.