From bfb8311fe79b53fd27470c41393c650806e6988f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D1=8B=D1=82=D0=BA=D0=BE=D0=B2=20=D0=A0=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D0=BD?= Date: Wed, 7 Feb 2024 21:53:40 +0300 Subject: [PATCH] 451. Sort Characters By Frequency --- .idea/.idea.Leetcode/.idea/workspace.xml | 84 ++++++++++++------- .../451. Sort Characters By Frequency.csproj | 11 +++ 451. Sort Characters By Frequency/Program.cs | 4 + 451. Sort Characters By Frequency/Solution.cs | 16 ++++ Leetcode.sln | 6 ++ 5 files changed, 89 insertions(+), 32 deletions(-) create mode 100644 451. Sort Characters By Frequency/451. Sort Characters By Frequency.csproj create mode 100644 451. Sort Characters By Frequency/Program.cs create mode 100644 451. Sort Characters By Frequency/Solution.cs diff --git a/.idea/.idea.Leetcode/.idea/workspace.xml b/.idea/.idea.Leetcode/.idea/workspace.xml index b94eece..1c355c4 100644 --- a/.idea/.idea.Leetcode/.idea/workspace.xml +++ b/.idea/.idea.Leetcode/.idea/workspace.xml @@ -52,6 +52,7 @@ 409. Longest Palindrome/409. Longest Palindrome.csproj 424. Longest Repeating Character Replacement/424. Longest Repeating Character Replacement.csproj 438. Find All Anagrams in a String/438. Find All Anagrams in a String.csproj + 451. Sort Characters By Frequency/451. Sort Characters By Frequency.csproj 46. Permutations/46. Permutations.csproj 509. Fibonacci Number/509. Fibonacci Number.csproj 53. Maximum Subarray/53. Maximum Subarray.csproj @@ -88,9 +89,9 @@ - - - + + + @@ -113,9 +114,9 @@ - + { + "associatedIndex": 3 +} @@ -124,34 +125,34 @@ - { + "keyToString": { + ".NET Project.14. Longest Common Prefix.executor": "Run", + ".NET Project.150. Evaluate Reverse Polish Notation.executor": "Run", + ".NET Project.9. Palindrome Number.executor": "Run", + "ASKED_ADD_EXTERNAL_FILES": "true", + "RunOnceActivity.OpenProjectViewOnStart": "true", + "RunOnceActivity.ShowReadmeOnStart": "true", + "WebServerToolWindowFactoryState": "false", + "git-widget-placeholder": "main", + "last_opened_file_path": "/home/nullptr/Projects/dotnet/Leetcode/15. 3Sum/15. 3Sum.csproj", + "node.js.detected.package.eslint": "true", + "node.js.detected.package.tslint": "true", + "node.js.selected.package.eslint": "(autodetect)", + "node.js.selected.package.tslint": "(autodetect)", + "nodejs_package_manager_path": "npm", + "settings.editor.selected.configurable": "SolutionBuilderGeneralOptionsPage", + "vue.rearranger.settings.migration": "true" }, - "keyToStringList": { - "rider.external.source.directories": [ - "/home/nullptr/.config/JetBrains/Rider2023.3/resharper-host/DecompilerCache", - "/home/nullptr/.config/JetBrains/Rider2023.3/resharper-host/SourcesCache", - "/home/nullptr/.local/share/Symbols/src" + "keyToStringList": { + "rider.external.source.directories": [ + "/home/nullptr/.config/JetBrains/Rider2023.3/resharper-host/DecompilerCache", + "/home/nullptr/.config/JetBrains/Rider2023.3/resharper-host/SourcesCache", + "/home/nullptr/.local/share/Symbols/src" ] } -}]]> - +} + + + diff --git a/451. Sort Characters By Frequency/451. Sort Characters By Frequency.csproj b/451. Sort Characters By Frequency/451. Sort Characters By Frequency.csproj new file mode 100644 index 0000000..283460d --- /dev/null +++ b/451. Sort Characters By Frequency/451. Sort Characters By Frequency.csproj @@ -0,0 +1,11 @@ + + + + Exe + net8.0 + _451._Sort_Characters_By_Frequency + enable + enable + + + diff --git a/451. Sort Characters By Frequency/Program.cs b/451. Sort Characters By Frequency/Program.cs new file mode 100644 index 0000000..9967c7b --- /dev/null +++ b/451. Sort Characters By Frequency/Program.cs @@ -0,0 +1,4 @@ +using _451._Sort_Characters_By_Frequency; + +var sol = new Solution(); +Console.WriteLine(sol.FrequencySort("gbngjaaaaaaaafsdgnjk;fdsnjkg;fds")); \ No newline at end of file diff --git a/451. Sort Characters By Frequency/Solution.cs b/451. Sort Characters By Frequency/Solution.cs new file mode 100644 index 0000000..8eb5548 --- /dev/null +++ b/451. Sort Characters By Frequency/Solution.cs @@ -0,0 +1,16 @@ +namespace _451._Sort_Characters_By_Frequency; + +public class Solution +{ + public string FrequencySort(string s) + { + Dictionary dictionary = []; + foreach (var c in s.Where(c => !dictionary.TryAdd(c, 1))) + dictionary[c]++; + + var list = dictionary.ToList(); + return String.Join("", + list.OrderByDescending(element => element.Value) + .Select(element => new string(element.Key, element.Value))); + } +} \ No newline at end of file diff --git a/Leetcode.sln b/Leetcode.sln index ee121b5..ce77058 100644 --- a/Leetcode.sln +++ b/Leetcode.sln @@ -171,6 +171,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "150. Evaluate Reverse Polis EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "9. Palindrome Number", "9. Palindrome Number\9. Palindrome Number.csproj", "{1397373A-47E9-4E22-8FE5-82376C7FACA1}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "451. Sort Characters By Frequency", "451. Sort Characters By Frequency\451. Sort Characters By Frequency.csproj", "{CA2D97FB-8F9D-40C0-BCE6-CBF0528AE296}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -513,6 +515,10 @@ Global {1397373A-47E9-4E22-8FE5-82376C7FACA1}.Debug|Any CPU.Build.0 = Debug|Any CPU {1397373A-47E9-4E22-8FE5-82376C7FACA1}.Release|Any CPU.ActiveCfg = Release|Any CPU {1397373A-47E9-4E22-8FE5-82376C7FACA1}.Release|Any CPU.Build.0 = Release|Any CPU + {CA2D97FB-8F9D-40C0-BCE6-CBF0528AE296}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CA2D97FB-8F9D-40C0-BCE6-CBF0528AE296}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CA2D97FB-8F9D-40C0-BCE6-CBF0528AE296}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CA2D97FB-8F9D-40C0-BCE6-CBF0528AE296}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE