Hi, Please find my code: ##### Sequence.java ############## import java.util.ArrayList; public class Sequence { private ArrayList values; public Sequence(){ values= new ArrayList(); } public void add(int n){ values.add(n); } // return copy of list public ArrayList getSequence(){ ArrayList copyList = new ArrayList<>(values.size()); for (Integer x : values) { copyList.add(x); } return copyList; } public String toString(){ return values.toString(); } public Sequence append(Sequence other){ Sequence res = new Sequence(); for(Integer x : values) res.add(x); for(Integer x:other.getSequence()) res.add(x); return res; } public Sequence merge(Sequence other){ int i=0, j=0; ArrayList otherList = other.getSequence(); Sequence mergeSeq = new Sequence(); while(i otherList = other.getSequence(); Sequence mergeSeq = new Sequence(); while(i otherList.get(j)){ mergeSeq.add(otherList.get(j)); j++; }else{ // both have same value mergeSeq.add(values.get(i)); i++; j++; } } while(i < values.size()){ mergeSeq.add(values.get(i)); i++; } while(j < otherList.size()){ mergeSeq.add(otherList.get(j)); j++; } return mergeSeq; } } ############ SequenceTest.java ############### public class SequenceTest { public static void main(String[] args) { Sequence s1 = new Sequence(); Sequence s2 = new Sequence(); s1.add(1); s1.add(4); s1.add(9); s1.add(16); s2.add(9); s2.add(7); s2.add(4); s2.add(9); s2.add(11); Sequence s3 = s1.merge(s2); System.out.println(\"S1: \"+s1.toString()); System.out.println(\"S2: \"+s2.toString()); System.out.println(\"S1+S2: \"+s3.toString()); Sequence s4 = new Sequence(); s4.add(4); s4.add(9); s4.add(14); s4.add(15); s4.add(16); s4.add(20); s4.add(22); Sequence s5 = s1.mergeNoDuplicates(s4); System.out.println(\"S4: \"+s4.toString()); System.out.println(\"S1+S4(no duplicate): \"+s5.toString()); } } /* Sample Output: S1: [1, 4, 9, 16] S2: [9, 7, 4, 9, 11] S1+S2: [1, 9, 4, 7, 9, 4, 16, 9, 11] S4: [4, 9, 14, 15, 16, 20, 22] S1+S4(no duplicate): [1, 4, 9, 14, 15, 16, 20, 22] */ Solution Hi, Please find my code: ##### Sequence.java ############## import java.util.ArrayList; public class Sequence { private ArrayList values; public Sequence(){ values= new ArrayList(); } public void add(int n){ values.add(n); } // return copy of list public ArrayList getSequence(){ ArrayList copyList = new ArrayList<>(values.size()); for (Integer x : values) { copyList.add(x); } return copyList; } public String toString(){ return values.toString(); } public Sequence append(Sequence other){ Sequence res = new Sequence(); for(Integer x : values) res.add(x); for(Integer x:other.getSequence()) res.add(x); return res; } public Sequence merge(Sequence other){ int i=0, j=0; ArrayList otherList = other.getSequence(); Sequence mergeSeq = new Sequence(); while(i otherList = other.getSequence(); Sequence mergeSeq = new Sequence(); while(i otherList.get(j)){ mergeSeq.add(otherList.get(j)); j++; }else{ // both have same value mergeSeq.add(values.get(i)); i++; j++; } } while(i < values.size(.