你为Zynga工作,想要计算不同游戏当前活跃玩家的数量.您的Web服务器处理来自许多不同游戏的ping,每个用户都有一个唯一的GUID.必须能够一次查询一个游戏的活跃用户数.活跃用户是那些在最后一刻获得ping的用户.
日志行连续进入Web服务器:
10.1.12.13 - - "http://zynga.com/ping?guid=<guid>&game=<gameID>" -
Run Code Online (Sandbox Code Playgroud)
计算活跃用户的最快捷/最简单的方法是什么?请使用一些代码建议45分钟的答案.
我的版本
// web server interface, every time ping comes in count() will be called
// void count(String gameId, String guid)
// int getNumberActivePlayers(String gameId)
struct Record{
String gameID;
String guid;
};
class PingStorage{
private:
max_heap<long, Record> storage;
public:
// O(log(n))
// n = total number of elements in storage
void count(String gameId, String guid){
long currentTimeStamp = getUnixTimeStamp();
Record rec ;
rec.gameId = gameId;
rec.guid = guid;
storage.add(currentTimeStamp, rec);
}
//N = …Run Code Online (Sandbox Code Playgroud) 我想从下面的页面(http://l2.io/ip或其他)中读取我的IP地址,使用javascript将他保存在我的变量"myIp"中.
function getMyIP() {
var myIp;
...
return myIp;
}
Run Code Online (Sandbox Code Playgroud)
你怎么办?
我想确保os.system('env')不包含一些myname
导出~/.bashrc为的特定变量export myname=csj
因此,我在下面写了python代码:
import os
def print_all():
print "os.environ['myname']=%s" % os.environ.get('myname')
print "os.getenv('myname')=%s" % os.getenv('myname')
os.system('env | grep myname')
print
def delete_myname():
if 'myname' in os.environ: os.environ.pop('myname')
if os.getenv('myname'): os.unsetenv('myname')
print_all()
os.putenv('myname', 'csj2')
print "---------------------"
delete_myname()
print_all()
os.putenv('myname', 'csj3')
print "---------------------"
delete_myname()
print_all()
Run Code Online (Sandbox Code Playgroud)
我认为检查两者os.environ['myname'],os.getenv('myname')
然后删除它们,如果存在,可以确保os.system('env | grep myname')什么都得不到.
但结果是:
os.environ['myname']=csj
os.getenv('myname')=csj
myname=csj
---------------------
os.environ['myname']=None
os.getenv('myname')=None
---------------------
os.environ['myname']=None
os.getenv('myname')=None
myname=csj3
Run Code Online (Sandbox Code Playgroud)
我不明白为什么还要csj3上车os.system('env | grep myname')?
当派生类成员变量名称影响其父类之一时,有没有办法生成警告,例如
class Mother
{
public:
Mother() : i(0) {}
virtual ~Mother() {}
protected:
int i;
};
class Child : public Mother
{
public:
Child() : Mother(), i(0) {}
virtual ~Child() {}
protected:
int i; /* NOK Expecting warning : declaration of 'int Child::i' shadows 'int Mother::i' */
};
Run Code Online (Sandbox Code Playgroud)
-Wshadow使用g ++ 编译时,上面的代码不会生成警告.
对于2D中的3个点:
P1(x1,y1),
P2(x2,y2),
P3(x3,y3)
Run Code Online (Sandbox Code Playgroud)
我需要找到一个点P(x,y),这样曼哈顿距离的最大值
max(dist(P,P1),
dist(P,P2),
dist(P,P3))
Run Code Online (Sandbox Code Playgroud)
将是最小的.
关于算法的任何想法?
我真的更喜欢精确的算法.
我有这个数据文件,我必须找到它包含的3个最大数字
24.7 25.7 30.6 47.5 62.9 68.5 73.7 67.9 61.1 48.5 39.6 20.0
16.1 19.1 24.2 45.4 61.3 66.5 72.1 68.4 60.2 50.9 37.4 31.1
10.4 21.6 37.4 44.7 53.2 68.0 73.7 68.2 60.7 50.2 37.2 24.6
21.5 14.7 35.0 48.3 54.0 68.2 69.6 65.7 60.8 49.1 33.2 26.0
19.1 20.6 40.2 50.0 55.3 67.7 70.7 70.3 60.6 50.7 35.8 20.7
14.0 24.1 29.4 46.6 58.6 62.2 72.1 71.7 61.9 47.6 34.2 20.4
8.4 19.0 31.4 48.7 61.6 68.1 72.2 …Run Code Online (Sandbox Code Playgroud) 我正试图从游戏板中提取一个项目的信件.目前,我可以检测游戏板,将其分割成各个方块并提取每个方块的图像.
我得到的输入是这样的(这些是单独的字母):






起初,我正在计算每个图像的黑色像素数,并将其用作识别不同字母的方法,这对于受控输入图像效果较好.但是,我遇到的问题是,对于与这些图像略有不同的图像,我无法做到这一点.
我每个字母大约有5个样本用于培训,这应该足够好了.
有谁知道什么是一个好的算法用于此?
我的想法是(在图像标准化后):
任何帮助,将不胜感激!
请考虑以下声明:
select interval '-1 hours'
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何获得间隔的绝对值,即如果为负则切换或移除符号.我想到的唯一一件事是:
select abs(extract(epoch from interval '-1 hours'))
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有一种更优雅的方式(一种保留间隔类型的方式)?
我正在和一位同事讨论一个只有一个公共方法的简单类的API.我最初去了:
class CalculateSomething
{
public:
void operator()(const SomeObject &obj) const;
private:
// ...
}
Run Code Online (Sandbox Code Playgroud)
但是,我的同事反对使用operator(),并且为了清楚起见,希望简单地将方法命名为'calculate'.虽然我没有发现这个论点令人信服,但它让我想到了利弊.
我很惊讶地看到我对此的搜索并没有带来太大的影响,因为我认为这是一个非常常见的情况(一类,一类责任).因此,我真的很想听听其他人对此的看法.
我很惊讶下面的代码编译.
似乎一个与(公共继承)基类成为朋友的类可以访问基类的成员,提供派生类的实例.
如果继承被更改为private则编译失败.
总之,内部如何d.b_var有效F::func(D& d)?
#include <iostream>
#include <string>
using namespace std;
class B{
int b_var;
friend class F;
};
class D: public B{
int d_var;
};
class F{
public:
void func(D &d){
d.b_var = 5;
}
};
int main()
{
cout<<"fine";
}
Run Code Online (Sandbox Code Playgroud) c++ ×3
python ×3
algorithm ×2
friend ×1
functor ×1
gcc ×1
geometry ×1
inheritance ×1
ip ×1
javascript ×1
math ×1
max ×1
numbers ×1
ocr ×1
oop ×1
opencv ×1
postgresql ×1
private ×1
simplecv ×1
time-series ×1