小编Spe*_*uce的帖子

什么是节点图中随机路径的快速稳定算法?

我有一个由节点组成的图,我需要一个快速算法,在两个节点之间生成一个随机路径.我从头开始设计了几种算法,但似乎无法做到这一点.

要么算法陷入循环,要么当我保留受访节点的记录时,它有时会卡在被访问节点之间.我遇到的另一个问题是我的算法性能太不稳定了.

所以我的问题是; 有没有人知道一个快速稳定的算法,用于无向图中两个可达节点之间的随机路径?

algorithm search graph pseudocode path-finding

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

计算数组中的不同切片

我试图解决这个问题.

给出了整数M和由N个非负整数组成的非空零索引数组A. 数组A中的所有整数都小于或等于M.

一对整数(P,Q),使得0≤P≤Q<N,称为阵列A的切片.切片由元素A [P],A [P + 1],...组成, A [Q].不同的切片是仅由唯一数字组成的切片.也就是说,切片中不会出现多个单独的数字.

例如,考虑整数M = 6和数组A,使得:

A[0] = 3
A[1] = 4
A[2] = 5
A[3] = 5
A[4] = 2 
Run Code Online (Sandbox Code Playgroud)

有九个不同的切片:(0,0),(0,1),(0,2),(1,1),(1,2),(2,2),(3,3),( 3,4)和(4,4).

目标是计算不同切片的数量.

提前致谢.

#include <algorithm>
#include <cstring>
#include <cmath>
#define MAX 100002

// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;

using namespace std;

bool check[MAX];

int solution(int M, vector<int> &A) {
    memset(check, false, sizeof(check));
    int base = …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm vector problem-steps-recorder

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

使用 tMap 比较字符串

我正在使用 Talend 准备数据件。我想使用 tMap 组件将字符串与列的内容进行比较,并创建一个变量以存储在数据库中。问题是==操作员没有给出正确的结果(例如:row2.recipient == "text"?"text":"" 我总是得到""),如果我使用,.equals我在执行时会出错。

talend

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

c ++重复箭头运算符取消引用性能与点运算符

箭头解引用p->m是 for 的语法糖(*p).m,它看起来可能涉及两个单独的内存查找操作——一个是在堆上找到对象,第二个是然后定位成员字段偏移量。

这让我怀疑这两个代码片段之间是否存在性能差异。假设classA有 30 多个不同类型的不同字段需要以各种顺序访问(不一定连续或连续):

版本 1:

void func(classA* ptr)
{
  std::string s = ptr->field1;
  int i = ptr->field2;
  float f = ptr->field3;
  // etc...
}
Run Code Online (Sandbox Code Playgroud)

版本 2:

void func(classA* ptr)
{
  classA &a = *ptr;
  std::string s = a.field1;
  int i = a.field2;
  float f = a.field3;
  // etc...
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是这两个版本之间的性能是否存在差异(即使非常微小),或者编译器是否足够聪明使它们等效(即使不同的字段访问被许多其他代码行中断)在它们之间,我没有在这里展示)。

c++

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