|
|
|
|
@@ -98,12 +98,13 @@ $(document).ready(function(){initNavTree('d0/d77/longest__palindromic__subsequen
|
|
|
|
|
|
|
|
|
|
<div class="header">
|
|
|
|
|
<div class="summary">
|
|
|
|
|
<a href="#namespaces">Namespaces</a> |
|
|
|
|
|
<a href="#func-members">Functions</a> </div>
|
|
|
|
|
<div class="headertitle"><div class="title">longest_palindromic_subsequence.cpp File Reference</div></div>
|
|
|
|
|
</div><!--header-->
|
|
|
|
|
<div class="contents">
|
|
|
|
|
|
|
|
|
|
<p>Program to find the Longest Palindormic Subsequence of a string.
|
|
|
|
|
<p>Program to find the <a href="https://www.geeksforgeeks.org/longest-palindromic-subsequence-dp-12/" target="_blank">Longest Palindormic Subsequence</a> of a string.
|
|
|
|
|
<a href="#details">More...</a></p>
|
|
|
|
|
<div class="textblock"><code>#include <cassert></code><br />
|
|
|
|
|
<code>#include <string></code><br />
|
|
|
|
|
@@ -115,97 +116,29 @@ Include dependency graph for longest_palindromic_subsequence.cpp:</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div><table class="memberdecls">
|
|
|
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
|
|
|
Namespaces</h2></td></tr>
|
|
|
|
|
<tr class="memitem:dd/d24/namespacedynamic__programming"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d24/namespacedynamic__programming.html">dynamic_programming</a></td></tr>
|
|
|
|
|
<tr class="memdesc:dd/d24/namespacedynamic__programming"><td class="mdescLeft"> </td><td class="mdescRight">Dynamic Programming algorithms. <br /></td></tr>
|
|
|
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
</table><table class="memberdecls">
|
|
|
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
|
|
|
|
Functions</h2></td></tr>
|
|
|
|
|
<tr class="memitem:a4f863610aebbc218f90a7adfde240cb4"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#a4f863610aebbc218f90a7adfde240cb4">lps</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &a)</td></tr>
|
|
|
|
|
<tr class="separator:a4f863610aebbc218f90a7adfde240cb4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:ae1a3968e7947464bee7714f6d43b7002"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a> ()</td></tr>
|
|
|
|
|
<tr class="separator:ae1a3968e7947464bee7714f6d43b7002"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:afe9f45b6e30ee187509da2d1d0093412"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412">dynamic_programming::lps</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &a)</td></tr>
|
|
|
|
|
<tr class="memdesc:afe9f45b6e30ee187509da2d1d0093412"><td class="mdescLeft"> </td><td class="mdescRight">Function that returns the longest palindromic subsequence of a string. <br /></td></tr>
|
|
|
|
|
<tr class="separator:afe9f45b6e30ee187509da2d1d0093412"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:aa8dca7b867074164d5f45b0f3851269d"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a> ()</td></tr>
|
|
|
|
|
<tr class="memdesc:aa8dca7b867074164d5f45b0f3851269d"><td class="mdescLeft"> </td><td class="mdescRight">Self-test implementations. <br /></td></tr>
|
|
|
|
|
<tr class="separator:aa8dca7b867074164d5f45b0f3851269d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
|
|
|
|
|
<tr class="memdesc:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="mdescLeft"> </td><td class="mdescRight">Main Function. <br /></td></tr>
|
|
|
|
|
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
|
|
|
</table>
|
|
|
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
|
|
|
<div class="textblock"><p>Program to find the Longest Palindormic Subsequence of a string. </p>
|
|
|
|
|
<div class="textblock"><p>Program to find the <a href="https://www.geeksforgeeks.org/longest-palindromic-subsequence-dp-12/" target="_blank">Longest Palindormic Subsequence</a> of a string. </p>
|
|
|
|
|
<p><a href="https://en.wikipedia.org/wiki/Palindrome" target="_blank">Palindrome</a> string sequence of characters which reads the same backward as forward <a href="https://en.wikipedia.org/wiki/Subsequence" target="_blank">Subsequence</a> is a sequence that can be derived from another sequence by deleting some or no elements without changing the order of the remaining elements.</p>
|
|
|
|
|
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/anjali1903" target="_blank">Anjali Jha</a> </dd></dl>
|
|
|
|
|
</div><h2 class="groupheader">Function Documentation</h2>
|
|
|
|
|
<a id="a4f863610aebbc218f90a7adfde240cb4" name="a4f863610aebbc218f90a7adfde240cb4"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4f863610aebbc218f90a7adfde240cb4">◆ </a></span>lps()</h2>
|
|
|
|
|
|
|
|
|
|
<div class="memitem">
|
|
|
|
|
<div class="memproto">
|
|
|
|
|
<table class="memname">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> lps </td>
|
|
|
|
|
<td>(</td>
|
|
|
|
|
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> & </td>
|
|
|
|
|
<td class="paramname"><em>a</em></td><td>)</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
<p>for assert for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> Function that returns the longest palindromic subsequence of a string </p>
|
|
|
|
|
<div class="fragment"><div class="line"><span class="lineno"> 24</span> {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 25</span> <span class="keyword">const</span> <span class="keyword">auto</span> b = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(a.rbegin(), a.rend());</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 26</span> <span class="keyword">const</span> <span class="keyword">auto</span> m = a.length();</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 27</span> <span class="keyword">using </span>ind_type = std::string::size_type;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 28</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<ind_type></a> > res(m + 1,</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 29</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<ind_type></a>(m + 1));</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 30</span> </div>
|
|
|
|
|
<div class="line"><span class="lineno"> 31</span> <span class="comment">// Finding the length of the longest</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 32</span> <span class="comment">// palindromic subsequence and storing</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 33</span> <span class="comment">// in a 2D array in bottoms-up manner</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 34</span> <span class="keywordflow">for</span> (ind_type i = 0; i <= m; i++) {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 35</span> <span class="keywordflow">for</span> (ind_type j = 0; j <= m; j++) {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 36</span> <span class="keywordflow">if</span> (i == 0 || j == 0) {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 37</span> res[i][j] = 0;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 38</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (a[i - 1] == b[j - 1]) {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 39</span> res[i][j] = res[i - 1][j - 1] + 1;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 40</span> } <span class="keywordflow">else</span> {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 41</span> res[i][j] = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/max.html">std::max</a>(res[i - 1][j], res[i][j - 1]);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 42</span> }</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 43</span> }</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 44</span> }</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 45</span> <span class="comment">// Length of longest palindromic subsequence</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 46</span> <span class="keyword">auto</span> idx = res[m][m];</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 47</span> <span class="comment">// Creating string of index+1 length</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 48</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> ans(idx, <span class="charliteral">'\0'</span>);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 49</span> ind_type i = m, j = m;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 50</span> </div>
|
|
|
|
|
<div class="line"><span class="lineno"> 51</span> <span class="comment">// starting from right-most bottom-most corner</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 52</span> <span class="comment">// and storing them one by one in ans</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 53</span> <span class="keywordflow">while</span> (i > 0 && j > 0) {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 54</span> <span class="comment">// if current characters in a and b are same</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 55</span> <span class="comment">// then it is a part of the ans</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 56</span> <span class="keywordflow">if</span> (a[i - 1] == b[j - 1]) {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 57</span> ans[idx - 1] = a[i - 1];</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 58</span> i--;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 59</span> j--;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 60</span> idx--;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 61</span> }</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 62</span> <span class="comment">// If they are not same, find the larger of the</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 63</span> <span class="comment">// two and move in that direction</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 64</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (res[i - 1][j] > res[i][j - 1]) {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 65</span> i--;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 66</span> } <span class="keywordflow">else</span> {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 67</span> j--;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 68</span> }</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 69</span> }</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 70</span> </div>
|
|
|
|
|
<div class="line"><span class="lineno"> 71</span> <span class="keywordflow">return</span> ans;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 72</span>}</div>
|
|
|
|
|
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
|
|
|
|
|
<div class="ttc" id="amax_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/max.html">std::max</a></div><div class="ttdeci">T max(T... args)</div></div>
|
|
|
|
|
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d77/longest__palindromic__subsequence_8cpp_a4f863610aebbc218f90a7adfde240cb4_cgraph.svg" width="170" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">◆ </a></span>main()</h2>
|
|
|
|
|
|
|
|
|
|
@@ -221,47 +154,59 @@ Here is the call graph for this function:</div>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
<p>Main Function </p>
|
|
|
|
|
<div class="fragment"><div class="line"><span class="lineno"> 85</span> {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 86</span> <a class="code hl_function" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a>(); <span class="comment">// execute the tests</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 87</span> <span class="keywordflow">return</span> 0;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 88</span>}</div>
|
|
|
|
|
<div class="ttc" id="alongest__palindromic__subsequence_8cpp_html_ae1a3968e7947464bee7714f6d43b7002"><div class="ttname"><a href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a></div><div class="ttdeci">void test()</div><div class="ttdef"><b>Definition:</b> longest_palindromic_subsequence.cpp:75</div></div>
|
|
|
|
|
|
|
|
|
|
<p>Main Function. </p>
|
|
|
|
|
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
|
|
|
|
|
<div class="fragment"><div class="line"><span class="lineno"> 97</span> {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 98</span> <a class="code hl_function" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// execute the tests</span></div>
|
|
|
|
|
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">return</span> 0;</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 100</span>}</div>
|
|
|
|
|
<div class="ttc" id="alongest__palindromic__subsequence_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self-test implementations.</div><div class="ttdef"><b>Definition:</b> longest_palindromic_subsequence.cpp:86</div></div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="359" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
|
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d77/longest__palindromic__subsequence_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="498" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<a id="ae1a3968e7947464bee7714f6d43b7002" name="ae1a3968e7947464bee7714f6d43b7002"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae1a3968e7947464bee7714f6d43b7002">◆ </a></span>test()</h2>
|
|
|
|
|
<a id="aa8dca7b867074164d5f45b0f3851269d" name="aa8dca7b867074164d5f45b0f3851269d"></a>
|
|
|
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">◆ </a></span>test()</h2>
|
|
|
|
|
|
|
|
|
|
<div class="memitem">
|
|
|
|
|
<div class="memproto">
|
|
|
|
|
<table class="mlabels">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="mlabels-left">
|
|
|
|
|
<table class="memname">
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="memname">void test </td>
|
|
|
|
|
<td class="memname">static void test </td>
|
|
|
|
|
<td>(</td>
|
|
|
|
|
<td class="paramname"></td><td>)</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="mlabels-right">
|
|
|
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div><div class="memdoc">
|
|
|
|
|
<p>Test function </p>
|
|
|
|
|
<div class="fragment"><div class="line"><span class="lineno"> 75</span> {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 76</span> assert(<a class="code hl_function" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#a4f863610aebbc218f90a7adfde240cb4">lps</a>(<span class="stringliteral">"radar"</span>) == <span class="stringliteral">"radar"</span>);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 77</span> assert(<a class="code hl_function" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#a4f863610aebbc218f90a7adfde240cb4">lps</a>(<span class="stringliteral">"abbcbaa"</span>) == <span class="stringliteral">"abcba"</span>);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 78</span> assert(<a class="code hl_function" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#a4f863610aebbc218f90a7adfde240cb4">lps</a>(<span class="stringliteral">"bbbab"</span>) == <span class="stringliteral">"bbbb"</span>);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 79</span> assert(<a class="code hl_function" href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#a4f863610aebbc218f90a7adfde240cb4">lps</a>(<span class="stringliteral">""</span>) == <span class="stringliteral">""</span>);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 80</span>}</div>
|
|
|
|
|
<div class="ttc" id="alongest__palindromic__subsequence_8cpp_html_a4f863610aebbc218f90a7adfde240cb4"><div class="ttname"><a href="../../d0/d77/longest__palindromic__subsequence_8cpp.html#a4f863610aebbc218f90a7adfde240cb4">lps</a></div><div class="ttdeci">std::string lps(const std::string &a)</div><div class="ttdef"><b>Definition:</b> longest_palindromic_subsequence.cpp:24</div></div>
|
|
|
|
|
|
|
|
|
|
<p>Self-test implementations. </p>
|
|
|
|
|
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
|
|
|
|
<div class="fragment"><div class="line"><span class="lineno"> 86</span> {</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 87</span> assert(<a class="code hl_function" href="../../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412">dynamic_programming::lps</a>(<span class="stringliteral">"radar"</span>) == <span class="stringliteral">"radar"</span>);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 88</span> assert(<a class="code hl_function" href="../../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412">dynamic_programming::lps</a>(<span class="stringliteral">"abbcbaa"</span>) == <span class="stringliteral">"abcba"</span>);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 89</span> assert(<a class="code hl_function" href="../../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412">dynamic_programming::lps</a>(<span class="stringliteral">"bbbab"</span>) == <span class="stringliteral">"bbbb"</span>);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 90</span> assert(<a class="code hl_function" href="../../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412">dynamic_programming::lps</a>(<span class="stringliteral">""</span>) == <span class="stringliteral">""</span>);</div>
|
|
|
|
|
<div class="line"><span class="lineno"> 91</span>}</div>
|
|
|
|
|
<div class="ttc" id="anamespacedynamic__programming_html_afe9f45b6e30ee187509da2d1d0093412"><div class="ttname"><a href="../../dd/d24/namespacedynamic__programming.html#afe9f45b6e30ee187509da2d1d0093412">dynamic_programming::lps</a></div><div class="ttdeci">std::string lps(const std::string &a)</div><div class="ttdoc">Function that returns the longest palindromic subsequence of a string.</div><div class="ttdef"><b>Definition:</b> longest_palindromic_subsequence.cpp:31</div></div>
|
|
|
|
|
</div><!-- fragment --><div class="dynheader">
|
|
|
|
|
Here is the call graph for this function:</div>
|
|
|
|
|
<div class="dyncontent">
|
|
|
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d77/longest__palindromic__subsequence_8cpp_ae1a3968e7947464bee7714f6d43b7002_cgraph.svg" width="262" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
|
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d77/longest__palindromic__subsequence_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg" width="400" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|