小编Sha*_*mar的帖子

找到最大数k,使得对于k对的所有组合,我们在每个组合中具有k个不同的元素

我们给了N对.每对包含两个数字.我们必须找到最大数K,这样如果我们从给定的N对中采用J(1 <= J <= K)对的任意组合,我们在所有那些选择的J对中至少有J个不同的数.我们可以有多个相同的一对.

例如,考虑对(1,2)(1,2)(1,2)(7,8)(9,10)对于这种情况K = 2,因为对于K> 2,如果我们选择三对(1,2),我们只有两个不同的数字,即1和2.

从一个开始检查每个可能的组合将花费大量时间.什么是解决问题的有效算法?

algorithm

13
推荐指数
1
解决办法
1019
查看次数

添加约束以使每列行的列唯一

statusPostgres表中有一列只能有两个值:ActiveInactive.

其中一列被命名userid.该表可以有多个相同的行,userid但最多只能有一行status = 'Active'.我只需要一个或没有statusActiveuserid.如何使用此条件创建约束?我在Postgres文档中找不到任何帮助.

database postgresql constraints unique-index partial-index

6
推荐指数
1
解决办法
1891
查看次数

如何使用JavaScript或jQuery获取证书列表?

我们以前使用Applet来获取客户机中安装的密钥库证书.现在,当chrome停止NPAPI时,Applet现在不能正常工作,因此使用Javascript/jQuery找到一些解决方案.

我想在KeyStore中获取安装的总证书列表,但我找不到任何解决方案.有没有人知道如何使用JavaScript或jQuery获取完整的证书列表?

javascript jquery certificate npapi

4
推荐指数
1
解决办法
3077
查看次数

如何从 PHP 命令行捕获 stderr

我想创建一个 C/C++ 在线编译器。

到目前为止我已经开发了以下代码:

<?php
error_reporting(E_ALL);
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{


    move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
    compile();
}
function compile()
{
$a=shell_exec('gcc -o Compile Compile.c');
echo $a;
$b=shell_exec('./Compile');
echo $b;
}
?>
Run Code Online (Sandbox Code Playgroud)

文件 Compile.c 正在上传,然后由 gcc 编译。我想做的是:

  • 当编译出错时从stderr读取错误并显示在网页上。
  • 如果没有错误,则在输入文件上执行代码并显示执行时间,如果时间超过特定值,则显示超出时间限制的错误。

我在网上搜索发现如果编译语句附加“2>&1”作为

$a=shell_exec('gcc -o Compile Compile.c 2>&1');
Run Code Online (Sandbox Code Playgroud)

然后编译错误的输出返回到分配的变量(上面例子中的$a),但不是没有它。所以我的问题是如何检查错误然后将其显示在网页上而不附加“2>&1”,如果没有错误,则执行上面给出的第二步。

php c compiler-construction

3
推荐指数
1
解决办法
2258
查看次数

在溢出的情况下,变量的值总是为负

它试图解决这个问题,因为N,K amd M,找到最大的整数T这样N*(K^T) <= M.N,K and M可以是值的10^18.这样long long就足够了.我尝试使用T上的迭代来解决它

int T = 0;
long long Kpow = 1;
while(1)
{
  long long prod = N*Kpow;
  if(prod > M)
    break;
  T++;
  Kpow = Kpow*K;
}
Run Code Online (Sandbox Code Playgroud)

但由于N*Kpow可能超出范围long long,因此需要使用一些大整数来处理产品.但我发现了一些巧妙处理这种情况的其他代码

long long prod = N*Kpow;
if(prod < 0)
  break;
Run Code Online (Sandbox Code Playgroud)

即使我总是看到,在溢出时,变量的值变为负值.总是如此,有时甚至在溢出情况下也会出现正值?

c c++ integer-overflow

3
推荐指数
1
解决办法
417
查看次数

找到选择项目的总方式,使得没有两个是连续的

一行中有n个项目.我们必须找到可以选择项目的方式的数量,其限制是不能选择两个连续的项目.

我尝试使用递归关系但不能达到任何关系.请帮我解决问题.

permutation combinatorics

2
推荐指数
1
解决办法
1万
查看次数

是否range()不会每次都评估其参数?

l作为参数传递给range函数,该函数的值在for循环内进行了修改,但循环执行的10时间是而不是5

i = 0
l = 10
for i in range(l):
    print i,l
    l = l-1
Run Code Online (Sandbox Code Playgroud)

输出是

0 10
1 9
2 8
3 7
4 6
5 5
6 4
7 3
8 2
9 1
Run Code Online (Sandbox Code Playgroud)

虽然我期望

0 10
1 9
2 8
3 7
4 6
Run Code Online (Sandbox Code Playgroud)

是否range()为只在第一次评估值或别的东西,是什么原因?

python for-loop range

2
推荐指数
1
解决办法
142
查看次数

Powershell 替代 Unix who 命令显示 ssh 会话

我在 Windows 服务器上,想知道谁通过 ssh 进入了服务器。在 Linux 上,以下命令有效

who -s
Run Code Online (Sandbox Code Playgroud)

Windows 10 上的替代方案是什么?

windows ssh powershell

2
推荐指数
1
解决办法
4310
查看次数

杀死较旧的进程(如果存在)后启动新进程

我有一个shell脚本,我需要经常启动.我可以设置快捷方式(我用来启动)但不要终止.我需要按Ctrl + C来终止它.结果有时最终会打开许多​​进程.

所以我想要做的是在脚本中添加一些命令,检查脚本中的旧进程是否存在并将其终止然后启动新进程.

为了让我的要求更加清晰,我试着追随

说运行脚本是/home/user/runscript.sh.
ps aux | grep runscript.sh给我

user+  6135  0.0  0.0  16620  1492 ?        S    18:28   0:00 /home/user/runscript.sh
user+  6208  0.0  0.0  15936   952 pts/6    R+   18:28   0:00 grep --color=auto runscript.sh
Run Code Online (Sandbox Code Playgroud)

我在脚本中添加了以下内容

pkill -f runscript.sh
Run Code Online (Sandbox Code Playgroud)

如果进程已经运行,则终止该进程.它解决了杀死旧流程的目的,但没有让新流程开始.原因很明显,我后来才明白.

这样做的正确方法是什么?

linux bash shell terminate

1
推荐指数
1
解决办法
146
查看次数

避免以root身份运行apache

我在Linux mint的localhost上工作Apache服务器,需要使用php脚本创建新的文件和文件夹.但它正在'mkdir'函数返回权限被拒绝.

我用Google搜索并发现Apache需要以root用户身份运行此类权限.它在我的机器中以'www-data'运行.但我也发现以root身份运行Apache会打开许多​​漏洞,并且不需要Apache以root身份运行.

如何克服apache中的权限限制?

php apache file-permissions

0
推荐指数
1
解决办法
2106
查看次数