【发布时间】:2018-04-14 03:38:34
【问题描述】:
我有一个由 一百万 个电话号码组成的字符串数组,我想找到最后四位相似的号码。例如:
9031017575
9031139446
9031507575
9013009446
9023027575
9012204000
应该是:
9031017575
9031507575
9023027575
9031139446
9013009446
列出最后四位相似的唯一数字。
string[] Numbers = File.ReadAllLines(NumbersFilePath);
List<string> SimilarNumbers = new List<string>();
List<string> DissimilarNumbers = new List<string>();
我使用循环中的循环来比较所有元素,并使用正则表达式来捕获最后四位数字(我想忘记这个算法并通过一个现代、更快、更简单的算法!)。
【问题讨论】:
-
显然你也想在不研究或编写代码的情况下做到这一点?只需复制和粘贴?
-
对倒序的数字排序并走一走?
-
我希望你不是在编写软件来欺骗电话号码和自动拨打类似的号码,因为这并不酷。
-
尝试以下操作:string[] input = {"9031017575", "9031139446","9031507575","9013009446","9023027575","9012204000"}; var groups = input.GroupBy(x => x.Substring(x.Length - 4)).ToList();
-
@Plutonix 不,有帮助就足够了。方法或有效算法的线索。
标签: c# arrays string list search