fast solution 451
This commit is contained in:
57
.idea/.idea.Leetcode/.idea/workspace.xml
generated
57
.idea/.idea.Leetcode/.idea/workspace.xml
generated
@@ -89,11 +89,9 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="11f2de1c-1ee5-4aa4-91e6-11975ebd421f" name="Changes" comment="">
|
<list default="true" id="11f2de1c-1ee5-4aa4-91e6-11975ebd421f" name="Changes" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/451. Sort Characters By Frequency/451. Sort Characters By Frequency.csproj" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/451. Sort Characters By Frequency/Fast/FastSolution.cs" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/451. Sort Characters By Frequency/Program.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/451. Sort Characters By Frequency/Solution.cs" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.Leetcode/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Leetcode/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/.idea.Leetcode/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Leetcode/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Leetcode.sln" beforeDir="false" afterPath="$PROJECT_DIR$/Leetcode.sln" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/451. Sort Characters By Frequency/Program.cs" beforeDir="false" afterPath="$PROJECT_DIR$/451. Sort Characters By Frequency/Program.cs" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -125,33 +123,34 @@
|
|||||||
<option name="hideEmptyMiddlePackages" value="true" />
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
<option name="showLibraryContents" value="true" />
|
<option name="showLibraryContents" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent">{
|
<component name="PropertiesComponent"><![CDATA[{
|
||||||
"keyToString": {
|
"keyToString": {
|
||||||
".NET Project.14. Longest Common Prefix.executor": "Run",
|
".NET Project.14. Longest Common Prefix.executor": "Run",
|
||||||
".NET Project.150. Evaluate Reverse Polish Notation.executor": "Run",
|
".NET Project.150. Evaluate Reverse Polish Notation.executor": "Run",
|
||||||
".NET Project.9. Palindrome Number.executor": "Run",
|
".NET Project.451. Sort Characters By Frequency.executor": "Run",
|
||||||
"ASKED_ADD_EXTERNAL_FILES": "true",
|
".NET Project.9. Palindrome Number.executor": "Run",
|
||||||
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
"ASKED_ADD_EXTERNAL_FILES": "true",
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||||
"WebServerToolWindowFactoryState": "false",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"git-widget-placeholder": "main",
|
"WebServerToolWindowFactoryState": "false",
|
||||||
"last_opened_file_path": "/home/nullptr/Projects/dotnet/Leetcode/15. 3Sum/15. 3Sum.csproj",
|
"git-widget-placeholder": "main",
|
||||||
"node.js.detected.package.eslint": "true",
|
"last_opened_file_path": "/home/nullptr/Projects/dotnet/Leetcode/15. 3Sum/15. 3Sum.csproj",
|
||||||
"node.js.detected.package.tslint": "true",
|
"node.js.detected.package.eslint": "true",
|
||||||
"node.js.selected.package.eslint": "(autodetect)",
|
"node.js.detected.package.tslint": "true",
|
||||||
"node.js.selected.package.tslint": "(autodetect)",
|
"node.js.selected.package.eslint": "(autodetect)",
|
||||||
"nodejs_package_manager_path": "npm",
|
"node.js.selected.package.tslint": "(autodetect)",
|
||||||
"settings.editor.selected.configurable": "SolutionBuilderGeneralOptionsPage",
|
"nodejs_package_manager_path": "npm",
|
||||||
"vue.rearranger.settings.migration": "true"
|
"settings.editor.selected.configurable": "SolutionBuilderGeneralOptionsPage",
|
||||||
|
"vue.rearranger.settings.migration": "true"
|
||||||
},
|
},
|
||||||
"keyToStringList": {
|
"keyToStringList": {
|
||||||
"rider.external.source.directories": [
|
"rider.external.source.directories": [
|
||||||
"/home/nullptr/.config/JetBrains/Rider2023.3/resharper-host/DecompilerCache",
|
"/home/nullptr/.config/JetBrains/Rider2023.3/resharper-host/DecompilerCache",
|
||||||
"/home/nullptr/.config/JetBrains/Rider2023.3/resharper-host/SourcesCache",
|
"/home/nullptr/.config/JetBrains/Rider2023.3/resharper-host/SourcesCache",
|
||||||
"/home/nullptr/.local/share/Symbols/src"
|
"/home/nullptr/.local/share/Symbols/src"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}</component>
|
}]]></component>
|
||||||
<component name="RunManager" selected=".NET Project.451. Sort Characters By Frequency">
|
<component name="RunManager" selected=".NET Project.451. Sort Characters By Frequency">
|
||||||
<configuration name="101. Symmetric Tree" type="DotNetProject" factoryName=".NET Project">
|
<configuration name="101. Symmetric Tree" type="DotNetProject" factoryName=".NET Project">
|
||||||
<option name="EXE_PATH" value="" />
|
<option name="EXE_PATH" value="" />
|
||||||
@@ -1702,7 +1701,7 @@
|
|||||||
<workItem from="1678030078340" duration="114000" />
|
<workItem from="1678030078340" duration="114000" />
|
||||||
<workItem from="1680804946367" duration="3697000" />
|
<workItem from="1680804946367" duration="3697000" />
|
||||||
<workItem from="1706644472303" duration="7903000" />
|
<workItem from="1706644472303" duration="7903000" />
|
||||||
<workItem from="1707331420927" duration="422000" />
|
<workItem from="1707331420927" duration="1097000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
26
451. Sort Characters By Frequency/Fast/FastSolution.cs
Normal file
26
451. Sort Characters By Frequency/Fast/FastSolution.cs
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace _451._Sort_Characters_By_Frequency.Fast;
|
||||||
|
|
||||||
|
public class Solution
|
||||||
|
{
|
||||||
|
private static int Comparer((char, int) el1, (char, int) el2)
|
||||||
|
{
|
||||||
|
return el2.Item2.CompareTo(el1.Item2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string FrequencySort(string s)
|
||||||
|
{
|
||||||
|
var count = new (char, int)[128];
|
||||||
|
for (var ch = (char)0; ch < count.Length; ch++)
|
||||||
|
count[ch].Item1 = ch;
|
||||||
|
foreach (var c in s)
|
||||||
|
count[c].Item2++;
|
||||||
|
var sb = new StringBuilder();
|
||||||
|
Array.Sort(count, Comparer);
|
||||||
|
for (var ch = (char)0; ch < count.Length; ch++)
|
||||||
|
while (count[ch].Item2-- > 0)
|
||||||
|
sb.Append(count[ch].Item1);
|
||||||
|
return sb.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using _451._Sort_Characters_By_Frequency;
|
using _451._Sort_Characters_By_Frequency;
|
||||||
|
|
||||||
var sol = new Solution();
|
var sol = new _451._Sort_Characters_By_Frequency.Fast.Solution();
|
||||||
Console.WriteLine(sol.FrequencySort("gbngjaaaaaaaafsdgnjk;fdsnjkg;fds"));
|
Console.WriteLine(sol.FrequencySort("gbngjaaaaaaaafsdgnjk;fdsnjkg;fds"));
|
||||||
Reference in New Issue
Block a user