小编Pra*_*kar的帖子

帐户ssh-key与部署ssh-key之间的区别

有人可以解释一下帐户ssh-key与部署ssh-key有什么区别?

我经常使用它们但从未试图了解它们的区别.

git github bitbucket

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

计算可被K整除的子阵列

给定n个正整数的序列,我们需要计算其总和可被k整除的连续子序列.

约束:N高达10 ^ 6,每个元素高达10 ^ 9,K高达100

示例:设N = 5且K = 3,阵列为1 2 3 4 1

这里的答案是4

说明:存在4个子序列,其总和可以被3整除,它们是

3
1 2
1 2 3
2 3 4
Run Code Online (Sandbox Code Playgroud)

我的尝试:

long long int count=0;
for(int i=0;i<n;i++){
    long long int sum=0;
    for(int j=i;j<n;j++)
    {
        sum=sum+arr[j];
        if(sum%k==0)
        {
            count++;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但显然它的方法很差.他们可以更好地解决这个问题吗?请帮忙.

完整问题:https://www.hackerrank.com/contests/w6/challenges/consecutive-subsequences

c++ algorithm

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

计算可重复的长度为n的二进制字符串的数量

问题是找到长度为nA的二进制字符串的可重复二进制字符串的数量是可重复的,如果它可以通过重复自身以形成原始二进制字符串的二进制字符串的任何子字符串来获得.

Example
"1010" is a repeatable string as it can be obtained from "10" by repeating 2 number of times

"1001" is  not a repeatable string as it cannot be obtained from any sub string of "1001" by repeating them any number of times
Run Code Online (Sandbox Code Playgroud)

我想到的解决方案是生成长度为n的所有可能的二进制字符串,并使用KMP算法检查它是否是可重复的,但是这种解决方案即使对于n = 40的小n也是不可行的.

我认为的第二种方法是

  1. 对于n的除数k,找到长度为k的所有子串,其重复自身n/k次

n = 6的例子我们有除数1,2,3

对于长度为1,我们有2子串"1"和"0"自身重复6次,从而"111111"和"000000"是可重复的串

对于长度2,我们有4个子字符串"00""01""10""11"所以"000000""010101""101010"和"111111"是可重复的字符串

类似于长度3,我们有8个可重复的字符串.

  1. 总结所有除数生成的字符串并减去重复项.

在上面的例子中,每个除数的字符串"111111"和"000000"被计算了3次.显然我在计数.我需要减去重复但是我无法想到从我的实际数量中减去重复数量我怎样才能做到这一点?

我是朝着正确的方向前进还是需要采取其他方法?

string algorithm counting combinatorics

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

如何使用 Queue.PriorityQueue 作为 maxheap python

如何使用Queue.PriorityQueue作为maxheap python?

Queue.PriorityQueue 的默认实现是 minheap,文档中也没有提及是否可以用于 maxheap。

有人可以告诉是否可以使用 Queue.PriorityQueue 作为 maxheap 吗

python heap priority-queue python-2.7 python-3.x

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

javascript parseInt检测溢出

使用parseInt方法解析字符串中的整数时,如何检测是否发生上溢/下溢?

我想到的方法是将Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER转换为字符串,并检查要检查的字符串是否在此范围内.

javascript string parsing

5
推荐指数
0
解决办法
998
查看次数

graphlab SFrame对列中的所有值求和

如何对SFrame graphlab列中的所有值求和.我试着查看官方文档,它仅为SaArray(doc)提供,没有任何示例.

python graphlab

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

系统设计和面向对象设计之间的区别

有人可以解释一下系统设计和面向对象设计之间的区别吗?

面向对象的设计涉及对象建模,并使用诸如抽象,封装,分解和概括之类的面向对象的概念。这两个设计都涉及建筑设计和概念设计。

是其他设计范式的子集之一吗?

architecture oop system-design object-oriented-analysis object-object-mapping

5
推荐指数
2
解决办法
3401
查看次数

两条路径通过矩形网格的最大赏金

我试图解决类似于GeeksforGeeks这个问题的问题,但是不同的是:
给定一个矩形的2-d网格,每个单元格中都有一些硬币值,任务是从左上角和右下角开始向右或者向下,从左下角到左上角向左或向上,最大化拾取的硬币总量.每个单元格中的硬币只能被挑选一次.
链接中的解决方案是同时启动两个遍历,但这不会在这里工作.
我该怎么解决这个问题?执行此操作的蛮力方式是枚举所有路径并选择两条路径,以最大化所拾取的硬币总和,但这对于大输入不起作用.

algorithm path-finding graph-algorithm

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

最小化操作次数使数组的所有元素相等

给定一个包含 n 个元素的数组,您只能执行 2 种操作来使数组的所有元素相等。

  1. 将任何元素乘以 2
  2. 将元素除以 2(整数除法)

您的任务是最小化上述操作的总数,以使数组的所有元素相等。

例子

array = [3,6,7] 最小运算为 2,因为 6 和 7 可以除以 2 得到 3。

我什至想不到蛮力解决方案。

约束 1 <= n <= 100000 和 1 <= ai <=100000 其中 ai 是数组的第 i 个元素。

arrays algorithm

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

查找访问树的所有节点的最低成本

给定树的根,其中每个边具有相关的成本.找到访问树的每个节点的最低成本.

我想到的一个递归解决方案是:

  1. 当节点是叶返回0时的基本情况.
  2. 对于节点的每个子节点c递归地计算成本.
  3. 将所有这些成本加起来,并且从节点到子节点两次添加边缘成本两次(因为我们需要回溯).
  4. 减去具有最大成本的孩子的边缘成本.("贪婪" - 我们不想从具有最大成本的孩子回溯).

这种方法是否正确?

有没有更好的方法来解决这个问题?

algorithm tree graph-theory greedy

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

从函数oracle返回varray

我想从oracle函数返回一个varray,但是我不知道该怎么做。到目前为止,这是我尝试过的。

set serveroutput on;
declare
   type array_t is varray(2) of number;
CREATE OR REPLACE FUNCTION func() return array_t
begin
  array array_t :=array_t(0,0);   
  array(1):=3;
  array(2):=20;
  return array;
end;
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql oracle11g

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

比较两个字符串作为数值

我应该如何比较C++中的两个字符串表示数字?我想转换为long long类型数但问题是字符串表示的数值可以超过long longMAX限制.保证字符串代表数值.

在Java中有一个类似的问题比较两个数字String值.但是这使用了我们在C++中没有的BigInteger库.

c++ string algorithm comparison

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