小编Tra*_*cey的帖子

最长的回文子串递归解

我知道使用自下而上动态编程方法的解决方案在O(n ^ 2)中解决了这个问题.我特意寻找自上而下的dp方法.是否有可能使用递归解决方案实现最长的回文子串?

这是我尝试过的但是在某些情况下它失败了,但我觉得我差不多正常.

#include <iostream>
#include <string>

using namespace std;

string S;
int dp[55][55];

int solve(int x,int y,int val)
{

    if(x>y)return val;
    int &ret = dp[x][y];
    if(ret!=0){ret = val + ret;return ret;}
    //cout<<"x: "<<x<<" y: "<<y<<" val: "<<val<<endl;
    if(S[x] == S[y])
        ret = solve(x+1,y-1,val+2 - (x==y));
    else
        ret = max(solve(x+1,y,0),solve(x,y-1,0));
    return ret;
}


int main()
{
    cin >> S;
    memset(dp,0,sizeof(dp));
    int num = solve(0,S.size()-1,0);
    cout<<num<<endl;
}
Run Code Online (Sandbox Code Playgroud)

c++ algorithm recursion dynamic-programming palindrome

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

用phantomjs渲染javascript网页

我试图使用phantomjs从网站呈现一个javascript评估的源代码.但每次我尝试我只获得源代码(类似于浏览器的视图源).我真正想要的是javascript评估代码(我们从google chrome浏览器的inspect元素中看到的).我的代码看起来像这样:

var page = require('webpage').create();
page.open('http://www.google.com/', function (s) {
    console.log(page.content);
    phantom.exit();
});
Run Code Online (Sandbox Code Playgroud)

我在这里做错了吗?

javascript javascript-engine phantomjs

6
推荐指数
2
解决办法
5773
查看次数

使用 PhantomJS 进行网页抓取

有没有一种方法可以像浏览器一样执行网页中的所有 JavaScript,而不需要指定执行哪个函数?在我看到的大多数示例中,这些似乎指定了您想要从抓取的网页执行 JavaScript 的哪一部分。我需要像浏览器一样抓取所有内容并执行所有 JavaScript,并获取最终执行的代码,我们可以使用谷歌检查看到它?

我确信一定有某种方法,但 PhantomJS 的示例代码似乎没有任何解决此问题的示例。

javascript web-scraping phantomjs

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