Advertisement
gosharski

Longest Block in String

Jan 8th, 2021
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. using System;
  2.  
  3. namespace LongestBlockInString
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. string input = Console.ReadLine();
  10. int MaxSize = FindLongestSize(input);
  11. int index = FindIndex(input, MaxSize);
  12. Console.WriteLine(PrintString(input, index, MaxSize));
  13. }
  14. static string PrintString(string input, int index, int MaxSize)
  15. {
  16. string result = "";
  17. for (int i = index; i < index + MaxSize; i++)
  18. {
  19. result += input[i];
  20. }
  21. return result;
  22. }
  23. static int FindIndex(string input, int maxSize)
  24. {
  25. int index = 0;
  26. int size = 1;
  27. for (int i = 0; i < input.Length; i++)
  28. {
  29. if (input[i] == input[i + 1])
  30. {
  31. size++;
  32. }
  33. else
  34. {
  35. size = 1;
  36. }
  37. if (size == maxSize)
  38. {
  39. index = i + 2 - size;
  40. break;
  41. }
  42. }
  43. return index;
  44. }
  45. static int FindLongestSize(string input)
  46. {
  47. int longest = int.MinValue;
  48. int size = 1;
  49. for (int i = 0; i < input.Length - 1; i++)
  50. {
  51. if (input[i] == input[i + 1])
  52. {
  53. size++;
  54. }
  55. else
  56. {
  57. size = 1;
  58. }
  59. if (size > longest)
  60. {
  61. longest = size;
  62. }
  63. }
  64. return longest;
  65. }
  66. }
  67. }
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement