fork download
  1. import java.util.*;
  2. class TargetWordCount {
  3. public static int maxTargetWordCount(String s, String t) {
  4. // Create frequency maps for s and t
  5. int[] sFreq = new int[26];
  6. int[] tFreq = new int[26];
  7. for (char c : s.toCharArray()) {
  8. sFreq[c - 'a']++;
  9. }
  10. for (char c : t.toCharArray()) {
  11. tFreq[c - 'a']++;
  12. }
  13.  
  14. // Find the maximum count of the target word
  15. int maxCount = Integer.MAX_VALUE;
  16. for (int i = 0; i < 26; i++) {
  17. if (tFreq[i] > 0 && sFreq[i] > 0) {
  18. maxCount = Math.min(maxCount, sFreq[i] / tFreq[i]);
  19. } else if (tFreq[i] > 0) {
  20. return 0;
  21. }
  22. }
  23. //using hashmaps
  24. /*
  25.   for (char c : s.toCharArray()) {
  26.   freqS.put(c, freqS.getOrDefault(c, 0) + 1);
  27.   }
  28.   for(char c : t.toCharArray()){
  29.   freqT.put(c, freqT.getOrDefault(c , 0) + 1);
  30.   }
  31.   int max=Integer.MAX_VALUE;
  32.   for(char c : freqT.keySet()){
  33.   if (freqS.containsKey(c)){
  34.   max = Math.min( max, freqS.get(c)/freqT.get(c));
  35.   }
  36.   else{
  37.   return 0;
  38.   }
  39.   }
  40.   */
  41.  
  42. return maxCount;
  43. }
  44.  
  45. public static void main(String[] args) {
  46. String s = "mononom";
  47. String t = "mon";
  48. System.out.println(maxTargetWordCount(s, t)); // Output: 2
  49. }
  50. }
  51.  
Success #stdin #stdout 0.07s 52524KB
stdin
Standard input is empty
stdout
2