JAVA || 100% faster || EASY || GREEDY
\n# Approach\n1. make marker to check it that inde i already taken for answer\n2. if any character is greater than next index character than mark it true and an
\n# Approach\n1. make marker to check it that inde i already taken for answer\n2. if any character is greater than next index character than mark it true and ans +=1\n3. and continue again from 0 index\n4. if any ind j marked or character is equal to next string character  of j ,then check for next character or j+1.\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:O(n*m)\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:O(m)\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\n    public int minDeletionSize(String[] strs) {\n        int n=strs.length;\n        int m=strs[0].length();\n        int ans=0;\n        boolean[] mark=new boolean[m];\n        for(int i=1;i<n;i++){\n            for(int j=0;j<m;j++){\n                if(mark[j] || strs[i-1].charAt(j)==strs[i].charAt(j))continue;\n                \n                   if(strs[i-1].charAt(j)>strs[i].charAt(j)){\n                        mark[j]=true;\n                        ans++;\n                        i=0;\n                    }\n                    break;\n                \n            }\n        }\n        return ans;\n    }\n}\n```
['Array', 'String', 'Greedy', 'Java']