小编Gri*_*yan的帖子

图形的中心点

我在思考如何定位图表的中心点时遇到了一些困难;也就是说,图上的一个节点可以最小化到所有其他节点的最大距离。

例如:

假设我有一个包含 3 个节点的图,排列成一条线(如1-2-3)。

显然,很容易看出该图的中心点是2。我该如何着手实施类似的事情呢?

我知道的唯一算法是 BFS/DFS/Prim's/ 和 Kruskal's。Prim 和 Kruskal 的算法并不真正适用于这种情况。我想我这里需要使用BFS吗?唯一的问题是,BFS 是否会根据您从哪个节点开始返回不同的顺序?

algorithm graph

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

Python:找到两个列表中的第一个不匹配

给定两个长度相同的列表,如何有效地找到这些列表中对应元素不相等的第一个位置?基本上我需要索引或两个不相等的元素。

我感兴趣是否存在一些简洁的“pythonic”解决方案,而无需对列表进行明显的显式迭代。

python list

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

在^ x = a(mod n)中找到x

我要计算模N,其中ñ是一个素数,而是非常大的.而这样做二进制功率计算,我想找到这样X一个X =α(MOD N) ,然后计算一个(M模x)的模N.

显然这样的x存在于任何a,因为powers mod n在某个时刻循环,但我没有找到如何使用模块化算术计算它.我想知道我是否遗漏了某些东西,或者是否存在一些数值方法?

math equation numerical-methods modular-arithmetic

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

如何从给定的数组中打印最长的增加子序列(LIS)?

我可以通过普通函数和递归函数打印LIS的长度.但我想在C++中打印给定数组中的LIS子序列索引.

这是我找到LIS长度的函数:

int lis( int *arr, int n )
{
   int *lis, i, j, max = 0;
   lis = (int*) malloc ( sizeof( int ) * n );
   for ( i = 0; i < n; i++ )
      lis[i] = 1;
   for ( i = 1; i < n; i++ )
      for ( j = 0; j < i; j++ )
         if ( arr[i] > arr[j] && lis[i] < lis[j] + 1)
            lis[i] = lis[j] + 1;
   for ( i …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm

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

需要帮助构建MySQL Query

我的数据和表格如下:

+------+------------+-----------+--------------+------------+----------+-------------+
| sr   | thread_id  | thread_no | client_name  | date       | time     | status      |
+------+------------+-----------+--------------+------------+----------+-------------+
|  871 | 1281473902 |         0 | Demo Company | 2011-01-17 | 16:53:00 | Closed      |
| 1179 | 1269343346 |         0 | Demo Company | 2010-03-23 | 11:22:00 | Open        |
| 1180 | 1269343585 |         0 | Demo Company | 2010-03-23 | 11:26:00 | Closed      |
| 1181 | 1269343679 |         0 | Demo Company | 2010-03-23 | 11:27:00 | …
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

需要帮助构建一个正则表达式

我需要编写一个正则表达式,它匹配表示逗号分隔的星期几的字符串,如:

"Sun,Mon,Tue,Wed,Thu,Fri,Sat"
Run Code Online (Sandbox Code Playgroud)

每天最多可以出现在字符串中一次.日期的顺序很重要.

到目前为止,我尝试了以下模式:

1) (Sun,|Mon,|Tue,|Wed,|Thu,|Fri,|Sat,)*(Sun|Mon|Tue|Wed|Thu|Fri|Sat)

这一个非常糟糕:允许多天存在,也不会看多天订单.

2) (Sun)?([,^]Mon)?([,^]Tue)?([,^]Wed)?([,^]Thu)?([,^]Fri)?([,^]Sat)?

这是我到目前为止最好的.这里唯一的问题是它匹配以逗号开头的字符串,例如,Mon,Tue,Fri.我的问题是如何过滤掉匹配此模式的逗号起始字符串.

提前致谢.

regex string regex-negation

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

合并排序问题 - Python

我的代码出了什么问题?它只打印vect值的一部分.似乎while循环在某个时刻中断.我不明白为什么.

def print_list(vect):
    for i in range(0, len(vect)):
        print(vect[i])

def merge_sort(vect):
    left = []
    right = []    
    result = []

    for i in range(0, int(len(vect)/2)):
        left.append(vect[i])
    for i in range(int(len(vect)/2), len(vect)):
        right.append(vect[i])

    left.sort()
    right.sort()
    i = 0
    j = 0

    while i < len(left) and j < len(right):
        if left[i] <= right[j]:
            result.append(left[i])
            i += 1
        else:
            result.append(right[j])
            j += 1

    print(len(result))
    return result

vect = [3, 1, 5, 7, 10, 2, 0]

vect = merge_sort(vect)
Run Code Online (Sandbox Code Playgroud)

python sorting algorithm merge

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

如何将boost :: gregorian :: date转换为mm/dd/yyyy格式,反之亦然?

Boost有几个函数转换为此处描述的其他字符串格式,但没有转换为必要的mm/dd/yyyy格式.目前我正在通过以下方式进行:

 std::string dateAsMMDDYYYY( const boost::gregorian::date& date )
 {
    std::string yyyymmdd = boost::gregorian::to_iso_string( date );
    std::string ret = yyyymmdd.substr(4,2) + "/" + yyyymmdd.substr(6,2) + "/" + yyyymmdd.substr(0,4);
    return ret;
 }
Run Code Online (Sandbox Code Playgroud)

即只是从返回的值中删除数字to_iso_string().这看起来很粗鲁,我正在寻找一种更优雅的方式来执行此转换.另外我需要一个关于如何执行向后转换的建议(即从'mm/dd/yyyy'字符串到boost :: gregorian :: date)

任何帮助表示赞赏.提前致谢.

c++ time boost

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

在visual studio 2012中管理c ++ 11线程

我在vs2012中编写了一个正确工作的多线程代码.令我感到惊讶的是,我分离了近10000个线程,它没有任何问题.显然,线程数量不能同时处理,因此其中一些线程暂停,直到其他线程工作.

我想知道在vs2012中是否存在一些选项来设置允许同时工作的最大线程数量.我特别要求在线程切换时不要浪费太多时间.
此外,我想管理允许我的线程使用的内存总量.

提前致谢.

c++ multithreading visual-studio c++11 visual-studio-2012

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