分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

//****************************************************************************************************////  求一个数组的最长递减子序列 - C++ - by Chimomo////  题目: 求一个数组的最长递减子序列,比如{8, 14, 6, 2, 8, 14, 3, 2, 7, 4, 7, 2, 8, 101, 23, 6, 1, 2, 1, 1}的最长递减子序列为{14,8,3,2,1}。////  Answer: Scan from left to right, maintain a decreasing sequence. For each number, binary search in the decreasing sequence to see whether it can be substituted.////****************************************************************************************************#include <iostream>#include <cassert>#include <stack>using namespace std ;int BinarySearch(int *A, int nTarget, int nLen);// Find the longest decreasing sequence in array A of length nLen.void FindLongestDecreasingSequence(int *A, int nLen){ int *index = new int[nLen]; int *LDS = new int[nLen]; index[0] = A[0]; LDS[0] = 1; int indexLen = 1; for (int i = 1; i < nLen; i++) {  int pos = BinarySearch(index, A[i], indexLen);  index[pos] = A[i];  LDS[i] = pos + 1;  if(pos >= indexLen)  {   indexLen++;  } } int ResultLen = indexLen; for (int i = nLen; i >= 0; i--) {  if(LDS[i] == ResultLen)  {    index[ResultLen - 1] = A[i];   ResultLen--;  }   } for (int i = 0; i < indexLen; i++) {  cout << index[i] << " "; } delete [] index;}// Binary search nTarget in array A of length nLen.int BinarySearch(int *A, int nTarget, int nLen){ assert(A != NULL && nLen > 0); int start = 0; int end = nLen - 1; while (start <= end) {  int mid = (start + end) / 2;  if(nTarget > A[mid])  {   end=mid-1;  }  else if(nTarget<A[mid])  {   start=mid+1;  }  else  {   return mid;  } } return start;}int main(){ int A[] = {8, 14, 6, 2, 8, 14, 3, 2, 7, 4, 7, 2, 8, 101, 23, 6, 1, 2, 1, 1}; int nLen = sizeof(A) / sizeof(int); FindLongestDecreasingSequence(A, nLen); return 0;}// Output:/*14 8 7 6 2 1*/

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

算法 求一个数组的最长递减子序列 C相关推荐

  1. 算法 - 求一个数组的最长递减子序列(C++)

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net /** 求一个数组的最长递减子序列 - C++ - ...

  2. 数组的最长递减子序列java_求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}...

    问题描述:给出一个数列,找出其中最长的单调递减(或递增)子序列. 解题思路: 动态规划.假设0到i-1这段数列的最长递减序列的长度为s,且这些序列们的末尾值中的最大值是t.对于a[i]有一下情况: ( ...

  3. 求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}...

    目前想到的一个方法,就是用栈来寻找,说下思想:(栈中的data为元素所在的位置,这意味着出栈和进栈的都是索引值,所以比较的时候根据索引找到其值后比较) (1)栈为空,把一个元素入栈.9 (2)把小于栈 ...

  4. 数组的最长递减子序列java_最长递增/递减子序列

    <编程之美>里有个题目是要求数组中最长递增子序列,在CSDN上看到的题目是数组中的最长递减子序列.题目如下: 求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子 ...

  5. c语言找出递增子数组的长度,求给定数组的最长递增子序列(记录子序列的值)...

    #include using namespace std; const int maxn = 100; int arr[maxn], dp[maxn], pre[maxn]; // pre记录前一个的 ...

  6. java 最大子数组_求一个数组中子数组的最大和算法(Java实现)

    前几天在微信订阅号"待字闺中"中看到的一篇文章<小技巧求一个数组中子数组的最大和>,提供下Java的实现,并且在对题目做下小修改,本来打算直接在微信里直接回复,但是发现 ...

  7. 【算法题】求一个字符串的最长不重复子串

    [题目描述] 求一个字符串的最长不重复子串.比如:给定"abcabcbb"的答案是"abc",长度是3:给定"bbbbb"的答案是" ...

  8. 算法12--topK求一个数组中第k大的数

    求一个数组中第k大的值 解法一: 建立一个k个元素的最大堆,首先将数组中前k个元素放入堆中,此时堆顶元素为第k大的元素,后面继续遍历数组,比较堆顶元素与数组中元素值,当数组中元素小于堆顶元素时,将堆顶 ...

  9. 求数组中最长递增子序列的长度

    题目:写一个时间复杂度尽可能低的程序,求一个一维数组(N个元素)中最长递增子序列的长度. 例:在序列[1, -1, 2, -3, 4, -5, 6, -7]中,其最长递增子序列的长度为4([1, 2, ...

最新文章

  1. gtest使用初级指南
  2. 大数据时代,如何构建精准用户画像,直击精细化运营
  3. 关于算法的时间复杂度和空间复杂度的总结
  4. 《系统集成项目管理工程师》必背100个知识点-60干系人管理
  5. 自定义JAVA注解_深入理解Java:自定义java注解
  6. Android面试收集录 2D绘图与动画技术
  7. 南方周末:阿里巴巴的大数据梦
  8. 【java笔记】数组概念初始化及相关操作
  9. Codeforces 781B. Innokenty and a Football League
  10. html5获取手机屏幕大小写,html图片自适应手机屏幕大小的css写法
  11. 基于cat12和SPM12进行大脑VBM数据分析笔记2——统计分析
  12. linux mmap 作用,LINUX 中的mmap浅析
  13. 高精度定位系统融合定位模式崭露头角
  14. java生成树形Excel_java poi导出树形结构到excel文件
  15. [BJWC2008]雷涛的小猫 dp
  16. 一位苦逼程序员的找工作经历
  17. Android远程弹窗,Remote Desktop(远程桌面)Android平台远程电脑的又一神器!
  18. CodeForces PYM101158CSU2294 Hidden Anagrams 26进制 前缀和
  19. 怎么用python写数据库_Python实现数据库编程方法详解
  20. uniapp 解决ios上拉下拉白边处理

热门文章

  1. 代码即财富之我学Java对象序列化与反序列化(2)
  2. winform运行时如何接受参数?(示例)
  3. appium的demo编程
  4. [Python3网络爬虫开发实战] 1.7.1-Charles的安装
  5. docker容器互联实战
  6. 书评 —— 《Go语言编程》
  7. iOSunicode转中文
  8. Mybatis简单的入门之增删改查
  9. 解决×××无法上网的心得
  10. ctfmn.exe——藏在字体目录FONTS下的***