面试题目 字符串的去重与压缩(统计)
今天去面试时考了两个算法的题,自己在做时想复杂了,也怪自己对FrameWork框架不是太熟悉,有很多方法自己不知道,所以走了很弯路
题目如下:
//去除重复算法:输入一串字符如 ababef 将这串字符串去除重复部分得到如下结果 abef string str = Console.ReadLine(); var arryStr = str.ToCharArray(); var list = new List<char>();
foreach (var item in arryStr)
{ if (!list.Contains(item)) { list.Add(item); } } foreach (var item in list) { Console.WriteLine(item); }
//用Distinct()更简捷 直接得到结果 arryStr.Distinct();
题二
//统计重复字符串 如 eeefffkkkhjk 得到如下结果 3e3f3khjk; string zipStr = Console.ReadLine(); var charList = zipStr.ToCharArray(); var listArray = new List<char>(); foreach (var item in charList) { if (!listArray.Contains(item)) { listArray.Add(item); } } var dic = new Dictionary<string, string>(); int count = 0; foreach (var item in listArray) { foreach (var o in charList) { if (item == o) { count++; } } dic.Add(item.ToString(),count.ToString()); count = 0; } string resutl = string.Empty; foreach (var item in dic) { if (Convert.ToInt32(item.Value)<=1) { resutl += item.Key; } else { resutl += item.Key + item.Value; } } Console.WriteLine(resutl); Console.Read();
自己想想其实很简单,说到底还是自己练得太少了,面试还是有好处的,能让你清楚的明白你自己的什么样的水平,
不要停止学习的脚步,努力向上吧~~!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述