From ce4452489bc8534933373832163f70df22b2a243 Mon Sep 17 00:00:00 2001 From: ADITYA DUBEY <75172576+adidubs@users.noreply.github.com> Date: Tue, 11 Oct 2022 00:41:34 +0530 Subject: [PATCH] Create subsequence.cpp Get subsequence in java. --- subsequence.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 subsequence.cpp diff --git a/subsequence.cpp b/subsequence.cpp new file mode 100644 index 0000000..0df4c7e --- /dev/null +++ b/subsequence.cpp @@ -0,0 +1,37 @@ +package RecursionAndBacktracking; + +import java.util.ArrayList; +import java.util.Scanner; + +public class stringSubsequence { + + public static void main(String[] args) { + // TODO Auto-generated method stub + Scanner sc = new Scanner(System.in); + String str = sc.next(); + ArrayList res = getSubSequence(str); + System.out.println(res); + } + + private static ArrayList getSubSequence(String str) { + // TODO Auto-generated method stub + if(str.length() == 0) { + ArrayList bres = new ArrayList<>(); + bres.add(" "); + return bres; + } + + char ch = str.charAt(0); // a + String ros = str.substring(1); //bc + ArrayList rres = getSubSequence(ros); //[--,-c,b-,bc] + ArrayList mres = new ArrayList<>(); + for(String rstr: rres) { + mres.add(""+rstr); + } + for(String rstr : rres) { + mres.add(ch+rstr); + } + return mres; + } + +}