1. No. Consider, e.g., L=[1, 10, 2, 3]. Greedy(L) returns [1, 10], but the longest subsequence that includes the first element from L is [1, 2, 3]. Comments: This illustrates that greedy strategies often don't work. Some problems are amenable to solutions with a greedy algorithm, but many are not. If you happen to find a problem where a greedy strategy works, consider yourself lucky. If you get a new problem that you don't know how to solve, it's often still worth checking whether a greedy strategy works, because if it does, the resulting greedy algorithm is often very simple. But for many problems, greedy strategies just don't work.