算法大比拼(看看谁是真真的高手)?(java C# C++ C的高手请进)

无聊的一个人啊 2009-01-13 11:26:16
加精
求算一任意长度字符串中不同的字符以及它的个数?(设计一个漂亮的算法,快而优美)
如在 字符串"abcdefgabc"中求算出的结果是
a,2
b,2
c,2
d,1
e,1
f,1
g,1

以一个普通的算法开个头吧.
public static class MyMethod
{
public static Queue<char> GetOnlyCharFromString(string str)
{
Queue<char> myQueue = new Queue<char>();
for (int i = 0; i < str.Length; i++)
{
if (myQueue.Contains(str[i]) == false)
myQueue.Enqueue(str[i]);
}
return myQueue;
}
public static Dictionary<char,int> GetInfoFormString(string str)
{
Queue<char> myQueue = GetOnlyCharFromString(str );
Dictionary<char,int> myDictionary=new Dictionary<char,int>();
int oldQueueCount = myQueue.Count;//记录下它原有的量;
for(int i=0;i<oldQueueCount ;i++)
{
char myChar=myQueue.Dequeue();
int num=0;
for(int j=0;j<str.Length;j++)
{
if(str[j]==myChar)
num++;
}
myDictionary.Add(myChar,num);
}
return myDictionary;
}

}
...全文
9864 464 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
464 条回复
切换为时间正序
请发表友善的回复…
发表回复
ktei2008 2011-03-25
  • 打赏
  • 举报
回复
这破帖子都能成为精品?
fesly 2011-03-17
  • 打赏
  • 举报
回复
我最喜歡LINQ了
lbc2247117 2011-03-11
  • 打赏
  • 举报
回复
哎~~~ 我悲剧了,4楼的我看不懂
諾临風 2010-07-22
  • 打赏
  • 举报
回复
q734193444 2010-07-22
  • 打赏
  • 举报
回复

using System;
namespace Text
{
class YouMother
{
}
}

q734193444 2010-07-22
  • 打赏
  • 举报
回复

using System;
namespace Text
{
class YouMother
{
}
}
chunquanwang 2010-07-22
  • 打赏
  • 举报
回复
大虾不少啊!
louis_vivien 2010-07-12
  • 打赏
  • 举报
回复
学习 学习
BoyBaiDui 2010-07-08
  • 打赏
  • 举报
回复

string s= "abcdefg";
for(int i=0;i<s.length;i++)
{
convert.WriteLine(s.char(i));
}
rowzixin 2010-07-08
  • 打赏
  • 举报
回复
很牛哦
motnil 2010-07-06
  • 打赏
  • 举报
回复

def count(string):
s = list(set(string))
print s
length = len(s)
for c in s:
b = string.count(c)
print "there is %d %c in the string" % (b,c)
if __name__ == "__main__":
string = raw_input("please enter a string:\n")
count(string)
hebets 2010-05-31
  • 打赏
  • 举报
回复
mark一下展位有空写一个
fengxingphp 2010-05-20
  • 打赏
  • 举报
回复
\
string str = "abcdefgabc";
var result = from c in str
group c by c into g
select g;
foreach (var group in result)
Console.WriteLine(group.Key + "," + group.Count())……
\
jenny0810 2010-02-05
  • 打赏
  • 举报
回复
标记
honey1314 2010-01-12
  • 打赏
  • 举报
回复
受教了
cppConst 2010-01-10
  • 打赏
  • 举报
回复
注:上面代码忽略 0 的计数的正确性.
cppConst 2010-01-10
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

void Handle(const char* const szStr)
{
if ( NULL == szStr ) return ;

const int conAsc = 128;
int nCount[conAsc] = {0};
char* pCur = (char*)szStr;
char cCur = *szStr;

while ( cCur )
{
nCount[cCur]++;
cCur = *++pCur;
}

for (int i = 0; i < conAsc; i++)
{
cout<< (char)i << "'s count = " << nCount[i] <<"\n";
}

cout<<endl;
}
zhxi55 2009-11-19
  • 打赏
  • 举报
回复

"abcdefgabc"
.GroupBy(c => c)
.Select(g => String.Format("{0}, {1}", g.Key, g.Count()))
.ToList<string>().ForEach(p => Console.WriteLine(p));
zhxi55 2009-11-19
  • 打赏
  • 举报
回复

"abcdefgabc"
.GroupBy(c => c)
.Select(g => String.Format("{0}, {1}", g.Key, g.Count()))
.ToList<string>().ForEach(p => Console.WriteLine(p));
zhxi55 2009-11-19
  • 打赏
  • 举报
回复
"abcdefgabc"
.GroupBy(c => c)
.Select(g => String.Format("{0}, {1}", g.Key, g.Count()))
.ToList<string>().ForEach(p => Console.WriteLine(p));
加载更多回复(435)
在Windows 10或Windows 11操作系统中,用户经常会遇到共享打印机时出现的一系列错误代码,这些错误代码可能会阻碍打印机共享功能的正常使用。常见的错误代码包括0x00000057、0x00000709和0x0000011b,这些代码通常指出了不同的问题,比如权限不足、服务未运行或配置错误等。除此之外,还有一些故障提示如“连接失败”或“内存不足”,这些都可能影响到打印机共享的稳定性。 要解决这些故障,首先要确保打印机已经正确地连接到网络,并且在需要共享的电脑上进行了设置。确保打印机驱动程序是最新的,并且在共享设置中没有错误配置。对于权限问题,需要检查网络上的用户账户是否具有足够的权限来访问共享打印机。同时,也要确保打印机服务正在运行,特别是“Print Spooler”服务,因为这是打印机共享服务的核心组件。 在某些情况下,问题可能与操作系统的更新有关,如升级到最新版的Windows 10或Windows 11后可能出现的兼容性问题。这时,可能需要查看微软的官方支持文档来获取特定的解决方案或更新。 对于错误代码0x00000057,这通常是由于没有足够的权限来访问网络打印机或其共享资源,解决方法是确保网络打印机的权限设置正确,包括在组策略中设置相应的访问权限。而0x00000709错误可能是由于打印机驱动问题或打印机端口配置错误,可以尝试重新安装或更新打印机驱动来解决。至于0x0000011b错误,这往往是因为打印机队列服务的问题,检查并重启“Print Spooler”服务通常是解决这类问题的常见手段。 至于“连接失败”或“内存不足”这类故障,通常与客户端和打印机之间的网络连接以及打印机本地资源的使用情况有关。检查网络连接,确保打印机所在的网络段没有故障或中断。同时,如果打印机的打印队列长时间得不到处理,可能会导致内存不足的情况,这时可能需要清理打印队列或增加打印机的内存配置。 为了帮助用户更快速地解决这些问题,市面上出现了各种打印机共享错误修复工具。这些工具往往通过预设的修复程序来自动检测和修正打印机共享中常见的问题。它们可以快速检查打印机驱动、网络连接以及共享设置,并且能够提供一键修复功能,大幅减少了用户自行排查和解决问题的难度。 然而,在使用这些修复工具之前,用户应确保这些工具的来源是安全可靠的,避免因使用不当的修复工具而引发其他系统安全或隐私问题。用户可以到官方平台或者信誉良好的软件提供商处下载这些工具。通过细心检查打印机的共享设置,及时更新驱动程序和服务,以及合理使用修复工具,大多数共享打印机的问题都可以得到有效的解决。

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧