我想要一个这样的随机数:(在C#中)
Random r = new Random();
r.next (0,10)
Run Code Online (Sandbox Code Playgroud)
但重要的是随机数更接近8,(或通常很大),我的意思是如果我们使用a:
for (int i =0; i<...;i++)
{
write: r.next (0,10)
}
Run Code Online (Sandbox Code Playgroud)
结果是这样的;
8 7 6 9 1 0 5 3 2
2 3 8 9 7 7 6 2 3
8 8 9 7 2 8 2 8 4
3
Run Code Online (Sandbox Code Playgroud) 我只需要一点帮助.我正在进行一项任务,我需要一种有效的方法 来排序一个二维整数数组,其中行和列元素已经按升序排序.(优选语言C/C++).
输入:
1 5 10 15 20
2 7 12 17 22
4 9 18 25 28
11 14 21 26 31
Run Code Online (Sandbox Code Playgroud)
输出:
1 2 4 5 7
9 10 11 12 14
15 17 18 20 21
22 25 26 28 31
Run Code Online (Sandbox Code Playgroud)
提前致谢.
在工作中,我们使用的是XML日志文件.每个日志消息是<message>与块<date>和<time>子节点,还有<submessage>块,<table>构建体等和日志文件可以被转换成使用一些Delphi的处理和以后的XSLT的局部HTML.
对于中等大小的日志文件(大约2 MB),我们遇到了性能问题(加载XML并进行一些基本操作需要一分钟),我可以将它们缩减为这样的测试项目(编辑:更新了代码并添加了测量结果) ):
procedure TForm1.PrepareTest(MessageCount : integer);
var
XML : IXMLDocument;
i : integer;
begin
XML := NewXMLDocument;
XML.DocumentElement := XML.CreateNode('root');
for i := 1 to MessageCount do
begin
XML.DocumentElement.AddChild('message').Text := 'Test Text';
end;
XML.SaveToFile(XML_NAME);
end;
procedure TForm1.XMLTest;
var
StartTime : Cardinal;
XML : IXMLDocument;
begin
StartTime := GetTickCount();
XML := NewXMLDocument;
XML.LoadFromFile(XML_NAME);
Memo1.Lines.Add('Node count: ' + IntToStr(XML.DocumentElement.ChildNodes.Count));
Memo1.Lines.Add('Time: ' + FloatToStr((GetTickCount() - StartTime) / 1000) + ' seconds'); …Run Code Online (Sandbox Code Playgroud) 我在函数中有一个const char*const字符串.我想用它来比较字符串中的元素.
我想迭代字符串,然后与char*进行比较.
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
const char * const pc = "ABC";
string s = "Test ABC Strings";
string::iterator i;
for (i = s.begin(); i != s.end(); ++i)
{
if ((*i).compare(pc) == 0)
{
cout << "found" << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
如何解析char*以解决字符串迭代器?
谢谢..
我正在使用Qt 4.5开发图形应用程序,并将图像放入QPixmapCache中,我想对此进行优化,以便如果用户插入已在缓存中的图像,它将使用该图像。
现在,每个图像都有一个唯一的ID,有助于在绘制事件时优化自身。但是我意识到,如果我可以计算图像的哈希值,则可以查找缓存以查看其是否已存在并使用它(当然,对于重复的对象,它还有更多帮助)。
我的问题是,如果QPixmap较大,则对其进行哈希计算会减慢速度,还是有更快的方法?
如果用户从Apache Web服务器请求大文件,但在完成之前取消下载,那么Apache会记录这个吗?
我可以从日志文件中判断哪些响应未完全发送,以及发送了多少字节?
我的程序Precomp可用于进一步压缩已压缩的文件格式,如GIF,PNG,PDF,ZIP等.粗略地总结,它通过解压缩压缩流,重新压缩它们并存储预期压缩流和实际压缩流之间的差异来实现.例如,维基百科的旋转地球图片从1429 KB压缩到755 KB.该过程是无损的,因此可以恢复原始GIF文件.
GIF文件格式的算法可以相对容易地隔离和实现,因此我在思考JavaScript中的概念验证实现.这将导致Web服务器发送GIF文件的压缩版本(.pcf结束,基本上是GIF图像内容的bzip2压缩文件),客户端解压缩数据,重新压缩到GIF并显示它.以下事情将要做:
该过程是带宽与客户端CPU使用率的交易.
现在我的问题如下:
我需要构建一个图像管理器,允许用户构建一组照片/图像,然后给他们一个选项,将这些照片转换为单个EXE,在运行时,它会将目标PC上的照片/图像显示为全屏幻灯片放映.
是否可以为多个图像执行此操作?
我有两个列表,我需要确定它们是否包含相同的值而不进行排序(即,值的顺序无关紧要).我知道排序可以工作,但这是性能关键部分的一部分.
项目值在[-2,63]范围内,我们总是比较相同大小的列表,但列表大小的范围是[1,8].
示例列表:
A = (0, 0, 4, 23, 10)
B = (23, 10, 0, 4, 0)
C = (0, 0, 4, 27, 10)
A == B is true
A == C is false
Run Code Online (Sandbox Code Playgroud)
我认为一个可能的解决方案是比较两个列表的乘积(将所有值相乘),但这个解决方案存在问题.如何处理零和负数.解决方法是在乘法之前为每个值添加4.这是我到目前为止的代码.
bool equal(int A[], int B[], int size)
{
int sumA = 1;
int sumB = 1;
for (int i = 0; i < size; i++) {
sumA *= A[i] + 4;
sumB *= B[i] + 4;
}
return (sumA == sumB)
}
Run Code Online (Sandbox Code Playgroud)
但是,无论列表的顺序/内容是什么,这总是有效吗?换句话说,以下数学上是真的吗?所以我真正要求的是以下(除非有另一种方法来解决问题):
给出2个相同大小的列表.如果列表中的乘积(将所有值相乘)相等,则列表包含相同的值,只要这些值是大于0的整数即可.
谁能告诉我我做错了什么?我试图用murmurhash散列一个值,但每次都得到不同的值:
std::string str = "some test string";
char out[32];
MurmurHash3_x86_32(str.c_str(), str.length(), 0, out);
unsigned int hash = reinterpret_cast<unsigned int>(out);
Run Code Online (Sandbox Code Playgroud)