Это решение имеет сложность O (n ^ 2). O (1) - пространственная сложность.
public class longestPalindromeInAString {
public static void main(String[] args) {
String a = "xyMADAMpRACECARwl";
String res = "";
//String longest = a.substring(0,1);
//System.out.println("longest => " +longest);
for (int i = 0; i < a.length(); i++) {
String temp = helper(a,i,i);//even palindrome
if(temp.length() > res.length()) {res = temp ;}
temp = helper(a,i,i+1);// odd length palindrome
if(temp.length() > res.length()) { res = temp ;}
}//for
System.out.println(res);
System.out.println("length of " + res + " is " + res.length());
}
private static String helper(String a, int left, int right) {
while(left>= 0 && right <= a.length() -1 && a.charAt(left) == a.charAt(right)) {
left-- ;right++ ;
}
String curr = a.substring(left + 1 , right);
System.out.println("curr =>" +curr);
return curr ;
}
}
Вот то, что я сделал бы:
git-svn clone http://remote.svn.server.com otherdir
Тогда в другом dir вытягивают изменения локально от Вашего предыдущего dir Тогда, у Вас должен быть мерзавец repo, который "соединен" через мерзавца-svn, и необходимо быть в состоянии использовать dcommit на нем.
Это могло бы также быть полезным чтением.
Мне недавно понадобилось что-то подобное, и этот процесс относительно прост.
Есть хорошее руководство Брэндона Димчеффа, «Передать линейную историю git для подрывной деятельности» (заменяет старая неработающая ссылка ), на которой основаны эти шаги.
Начиная с Git версии 1.6.3, это шаги:
$ svnadmin create svn_repository
$ svn mkdir -m "Initial setup" file:///full/path/to/svn_repository/trunk
$ mkdir gitrepo && cd gitrepo
$ git init
$ echo 'Hello from Git' > file.txt
$ git add file.txt
$ git commit -m "Hello from Git"
$ git svn init --trunk=trunk file:///full/path/to/svn_repository/
$ git svn fetch
$ git branch -a # Lists remotes/trunk
$ git rebase --onto remotes/trunk --root master
# => Applying: Hello from Git etc.
$ git svn dcommit
# => Committing to ... Committed r2 ... etc
Вы можете выполнить svn checkout
svn_repository теперь и посмотрите ваше репозиторий Git.