1. Java / Говнокод #13660

    +64

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.Scanner;
    
    public class Chapter4 {
    	/*
    	 * find minimal difference symbols words in line; if words count > 0, print
    	 * first word;
    	 */
    	public LinkedList<String> wordsList = new LinkedList<>();
    	public ArrayList<String> minUniqueSimbolWords = new ArrayList<String>();
    	final int wordsCount = 3; 
    
    	public void run() {
    
    		System.out.println("Iveskite " + wordsCount + " zodzius: ");
    		Scanner scan = new Scanner(System.in);
    		for (int i = 0; i < wordsCount; i++) {
    			wordsList.add(scan.nextLine());
    		}
    
    		scan.close();
    
    		addMinUniqueSimbolCountWordsToList();
    		if (minUniqueSimbolWords.isEmpty()) {
    			System.out.println("not unique words");
    			return;
    		}
    
    		printUniqueSimbolWords();
    
    	}
    
    	private void printUniqueSimbolWords() {
    		System.out
    				.println("");
    		for (String s : minUniqueSimbolWords) {
    			System.out.println(s);
    		}
    	}
    
    	private void addMinUniqueSimbolCountWordsToList() {
    		for (String word : wordsList) {			
    			if (minUniqueSimbolWords.isEmpty()) { 
    				minUniqueSimbolWords.add(word); 
    			} else {
    				int count = getUniqueSimbolCount(word.toCharArray());
    				addMinUniqueSimbolsCountWord(word, count);
    			}
    		}
    	}
    
    	
    	private void addMinUniqueSimbolsCountWord(String word, int count) {
    		int countOfFirstFromList = getUniqueSimbolCount(wordsList.getFirst()
    				.toCharArray());
    		if (count < countOfFirstFromList) {
    			minUniqueSimbolWords.clear();
    			minUniqueSimbolWords.add(word);
    
    		} else if (count == countOfFirstFromList) {
    			minUniqueSimbolWords.add(word); 
    		}
    
    	}
    
    	
    	private int getUniqueSimbolCount(char[] str) {
    		ArrayList<Character> lst = new ArrayList<Character>();
    		for (char c : str) {
    			if (!lst.contains(c)) { 
    				lst.add(c);
    			}
    		}
    
    		return lst.size();
    	}
    
    } // end class

    еще одно задание

    Запостил: spivti, 24 Августа 2013

    Комментарии (4) RSS

    • Какой-то ломанный английский, не понятно, что нужно делать. Да и кода много что-то.
      Ответить
    • Суть проблемы в студию. Чем такое лечить лучше новое сделать
      Ответить
      • Находит слова в предложении, в которых число различных символов минимально. Выводит их.

        это тоже работает, принимаются замечания , где что подправить можно. пасибо.
        Ответить
    • C#
      class Program
          {
              private static string _inputString =  "Allocates aaa neaw Setringa tehat represeants tahe same saequence" ;
         
      
              static void Main(string[] args)
              {
                 
                  Console.WriteLine(Do(_inputString));
                  Console.ReadKey();
      
              }
      
            static public string Do(string inputString)
            {
                var splitString = inputString.Split(new[]{' '});
                var index = 0;
                var LetterCount = GetLetterCount(splitString[0]);
                for (var i = 1; i < splitString.Length; i++)
                {
                    var LC = GetLetterCount(splitString[i]);
                    if (LC >= LetterCount) continue;
                    LetterCount = LC;
                    index = i;
                }
                return splitString[index];
            }
              private static int GetLetterCount(string s)
              {
                  var charArray = new List<char>(s.Length);
                  for (int i = 0; i < s.Length; i++)
                  {
                      if(!charArray.Contains(s[i])) charArray.Add(s[i]);
                  }
                  return charArray.Count;
      
              }
          }
      Ответить

    Добавить комментарий