Спасибо Prerak,
Это ответ, моя база данных находится на одной машине, поэтому мне просто нужно было отредактировать:
$servername = "localhost"
Теперь все работает нормально.
Это занимает время O (M + N) и пространство O (1), где M и N - общая длина связанных списков. Может быть неэффективным, если общая часть очень длинная (т.е. M, N > > m, n)
Правка: Подробнее здесь .
Если возможно, вы можете добавить поле 'color' или подобное ему для узлов. Перебирайте один из списков, раскрашивая узлы по мере продвижения. Затем переберите второй список. Как только вы достигнете уже окрашенного узла, вы найдете пересечение.
O(M)
время и O(M)
пространство, где M >= N
для list_M
длины M
и list_N
длины N
2
. Обратите внимание, что list_N
достигнет null
до list_M
, для M > N
M=N
пересекаются, когда list_M != list_N && list_M.next == list_N.next
M>N
пересекаются, когда list_N != null
Пример кода:
Node yListsHelper(Node n1, Node n2, Node result) {
if (n1 == null && n2 == null)
return null;
yLists(n1 == null ? n1 : n1.next, n2 == null ? n2 : n2.next, result);
if (n1 != null && n2 != null) {
if (n2.next == null) { // n1 > n2
result.next = n1;
} else if (n1.next == null) { // n1 < n2
result.next = n2;
} else if (n1 != n2 && n1.next == n2.next) { // n1 = n2
result.next = n1.next; // or n2.next
}
}
return result.next;
}
Это работает на Ubuntu 9,04:
user@host:~$ grep EINVAL /usr/include/asm-generic/errno*.h
/usr/include/asm-generic/errno-base.h:#define EINVAL 22 /* Invalid argument */
Вы также можете попробовать скрипт Python:
import errno
from os import strerror
from sys import argv
print strerror(errno.__dict__[argv[1]]
-121--3119881-
#! /bin/bash -f
errorDir="/usr/include/asm-generic"
strError="$1"
numericVal=awk -v pat="$strError" '$0 ~ pat{print $3}' $errorDir/errno-base.h $errorDir/errno.h
perror $numericVal
Внимание! Поскольку этот скрипт использует расположение ERROR MACROS, он может не быть портативным, хотя и работает в моей системе.
-121--3119883-Выгрузить содержимое (или адрес) обоих списков в одну хэш-таблицу. первое столкновение - это ваш перекресток.