最长回文子序列是我们上机考都应该学会的题型,意思大概是:给定一个字符串,我们要找到顺着读和反着读一样的最长序列,比如ABAC,这个最长序列就是ABA。
下面小编就给大家介绍一个DP算法:
DP
我们对于字符串S,定义一个dp[][]二维数组,dp[i][j] = 1表示S[i.....j]是回文子串。那么,对于它的子串S[i+1.....j-1]也就肯定是回文子串了。
2024年10月11日
最长回文子序列是我们上机考都应该学会的题型,意思大概是:给定一个字符串,我们要找到顺着读和反着读一样的最长序列,比如ABAC,这个最长序列就是ABA。
下面小编就给大家介绍一个DP算法:
DP
我们对于字符串S,定义一个dp[][]二维数组,dp[i][j] = 1表示S[i.....j]是回文子串。那么,对于它的子串S[i+1.....j-1]也就肯定是回文子串了。
2024年10月11日
摘要
数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。
声明数组变量并不是声明 number0、number1、...、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来表示一个个单独的变量。数组中某个指定的元素是通过索引来访问的。
2024年10月11日
一、引言
Python编程语言的流行就不再赘述,其用户早已经不再拘泥于程序员群体,而是作为一种基础工具被越来越广泛的人群在使用。数组操作是Python编程最常见一种操作,下面对一维和多维数组的构建与初始化进行详细描述。
二、常规的数组构建方法
定义一个空数组:
2024年10月11日
如果又什么遗漏的,欢迎留言,我再补充
#include <stdio.h>
int main()
{
printf("Hello World!");
return 0;
}
2024年10月11日
数组声明
int[] a;//Java首选
int a2[];//c和c++风格
//数组操作需要创建一个对象去调用,并初始化
a=new int[10];
//给数组中元素赋值
a[0]=1;
a[1]=2;
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
2024年10月11日
变量初始化是指变量定义后的第一次赋值(声明、定义、赋值三者同时进行),此后的赋值一般称为数据的更新或修改(注意任何操作都是有时间成本的)。
任何变量不管有没有初始化或赋值,都会有一个随机值或垃圾值。
我们知道,世间万物都可以数据化表示,进一步可以比特化表示 ,也就是用一串串0100110010101001……来表示,而0、1的硬件实现就是一个用作开关的晶体管。
每一个0或1称为一个比特(bit,对应一个开关晶体管),8个比特是一个字节(byte,),称为一个内存单元(字节是最小的内存单位),内存单元在内存中线性顺序排列,可以随机访问。在C++中,一个字母就用一个字节来表示,数字可以用4或8个字节来表示。通过数据类型的定义和类型的声明,编译器知道需要从哪个内存单元(变量名对应内存地址)开始访问,访问到哪个位置(内存单元)结束(C中没有定义字符串,以'\0'标志结尾,磁盘文件以EOF标识)。
2024年10月11日
通知:我已经将刷题指南全部整理到了Github :https://github.com/youngyangyang04/leetcode-master