TopCoder SRM597: LittleElephantAndString
public class LittleElephantAndString { public int getNumber(string A, string B) { if (!A.OrderBy(s => s).SequenceEqual(B.OrderBy(s => s))) return -1; int a = A.Length - 1, b = B.Length - 1; while (a >= 0 && b >= 0) { while (a >= 0 && A[a] != B[b]) a--; if (a < 0) break; a--; b--; } return b + 1; } }