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"
]
}
-}]]>
-
+}
+
@@ -1088,6 +1089,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1682,7 +1701,8 @@
1678030074860
-
+
+
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