首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

动态规划题: 统计每个月兔子总数

描述 有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。比如某只兔子第 3 个月出生,那么它第 5 个月开始会每个月生一只兔子。...一月时候有一只兔子,假如兔子都不死,问第n个月兔子总数为多少? 示例 1: 输入:3 输出:2 示例 2: 输入:6 输出:8 题解 解法是动态规划。...兔子其实有两种状态: 可以不停生兔子 刚生出来兔子,它会在出生那个月以及下一个月无法生兔子,下下个月才能生兔子。...dp[i][0] 表示可以一直生兔子,dp[i][1] 表示刚出生兔子。...这种 状态有多种,且它们之间会发生转换 情况,在动态规划中还是比较常见,比如 “198.打家劫舍”、“714. 买卖股票最佳时机含手续费”,建议多练练这些题。

39930

每日一题(统计每个月兔子总数,数列和)

统计每个月兔子总数_牛客题霸_牛客网 (nowcoder.com) 这个问题实际上是著名“斐波那契数列”(Fibonacci sequence)一个应用。...在这个兔子问题中,我们可以这样考虑: 第1个月:1只兔子(假设它是第1个月出生) 第2个月:1只兔子(没有新兔子出生) 第3个月:1只兔子(仍然没有新兔子出生) 第4个月:2只兔子(第1个月出生兔子开始生小兔子...所以,第n个月兔子总数就是斐波那契数列第n项。 在下面这段代码中,fibonacci 函数计算斐波那契数列第n项。...在 main 函数中,我们读取用户输入月份n,并调用 fibonacci 函数来计算第n个月兔子总数。注意,由于兔子从第3个月开始生小兔子,所以实际上我们计算是斐波那契数列第n-2项。...) { int n, m; double sum, term; // 循环读取多组输入数据 while (scanf("%d %d", &n, &m

15810

每个月报表总有那么一些重复事(Excel VBA)

报表之中有时会有些固定有规律内容,内容可能随月份变化而变化,每次都要填,比较繁琐。这时候使用select case语句可以简化这一过程。...举例: 在某月报中,需要为很多单元格增加批注,1月份时候批注内容是这个样子,2月份又是那个样子,每个月不尽相同。每个月手动写一个批注,再复制到其他单元格比较繁琐。...用以下代码可以将选中单元格一次性全部添加。...比方现在是7月份,会自动case 4 to 11这个部分,执行结果如下: if语句当然也可以实现,只是条件比较多的话建议还是用case 可以发散思维将这种逻辑应用在报表其他方面。...---- 可以看到上面那个批注格式很难看,是Excel默认方框。现在流行iPhone圆要好看一些。 用以下代码可以批量将批注造型变换

63720

MySqlMySql数据类型

1264 (22003): Out of range value for column 'num' at row 1 mysql> 对于MySql,如果我们向mysql特定类型中插入不合法数据...反过来,我们如果已经有数据被插入到MySql中了,一定是插入时候是合法 所以MySql中一般而言,数据类型本身也是一种约束,约束程序员尽可能进行正确插入,约束使用者,如果你不是一个很好使用者,...MySql也能保证数据插入合法性。...就能保证数据库中数据是可预期,完整 MySql表中建立属性列:列名称 类型在后,如num tinyint unsigned; 这是tinyint类型我们所需要注意,同时,尽量不使用unsigned...decimal decimal也是mysql浮点数类型,float存储数据时,小数比较大,或者小数位点比较多存储就不太准确了,这与浮点数存储规则有关(mysqlfloat浮点数精度为是7)。

23430

MySQLMySQL介绍MySQL数据库及MySQL基本操作

关系型数据库:对于存储数据,格式上有严格要求。类似于excle表格方式来存储。例如:MySQL,Oracle,SQL Server,SQLite....有事性能更快,同时也更好能适应分布式环境(高并发,大数据,分布式,微服务) 关系型数据库和非关系型数据区别: MySQL介绍 MySQL是一个客户端服务器结构程序。...关系型数据库具体组织数据格式/结构 数据基本操作 数据操作 指的是MySQL服务器上存在多个数据集合。...查看所有数据库 show databases; 注意databases是复数形式。 选中指定数据库 一个MySQL服务器上,数据库可以有很多个。...所以在操作删除数据时候一定要做到谨慎。 常用数据类型 数值类型 在MySQL数据类型中,数据库里表,每一个列都是带有类型(例如整数,浮点数,字符串)。

4.4K20

MySQLMySQL数据初阶使用

ls /var/lib/mysql内容是上一个mysql数据库中所残留数据MySQL服务在卸载时候,默认不会将数据删除掉,这些数据我们可以不用管,他们并不影响我们后续MySQL服务安装和使用...三、MySQL操作库 1.库结构CURD操作 查看MySQL中所有的数据库:show databases; 创建数据指令和显示创建数据库时指令 !...,则可以顺利插入到表中,而如果插入数据不合法时,MySQL会直接拦截我们,不让我们做对应数据插入,反过来,如果有数据插入到MySQL中,则已经插入数据一定都是合法数据。...,插入数据只能是0或1,其他数据均无法正常插入,被MySQL拦截。...约束唯一目的其实就是为了保证数据库中数据有效性,可预期性和完整性,一旦插入数据不符合表约束,则MySQL直接拦截数据插入,倒逼程序员向数据库中插入有效数据。让数据库中数据都是符合约束

32130

MySQLMySQL数据进阶使用

retrieve是取回意思,在MySQL中可以认为是读取操作,MySQL中查询数据操作,也就是R操作最为频繁,同样也是需要重点学习操作,在R操作里面,最典型SQL语句就是select语句,用于查询表中数据...实际中非常不建议使用全列查询,因为这需要显示表所有数据,而部分数据可能此时并不在内存中,则mysqld服务还需要磁盘IO来加载表剩余数据,降低MySQL查询性能,同时全列查询还无法使用索引来优化查询过程...除此之外,实际公司使用MySQL数据库,存储数据最少也几百万条记录打底,一旦全列查询,则查询结果会疯狂刷屏到显示器上,看也没法看,而且还有可能导致mysqld服务卡死,所以平常我们自己敲一些简单数据库...MySQL一定是不支持。...,要加单引号,防止别名与MySQL关键字冲突。

28520

mysql 快速导入数据_MySQL导入数据

插入mysql #解析Excel import sys import os import MySQLdb import xlrd #解析Excel需要库 #打开对应Excel文件 book =...k行(这里就要看k行是不是有数据了,没数据的话,就会读取失败) #这种情况可以尝试读取,比如python中try: except: 语句读取 #这个k需要提前自行指定 arrModel...= sheet.row_values(k) #获取第k行第i列数据 #这个i需要提前自行指定 data1 = arrModel[i] data2 = arrModel...#获取到数据就可以直接使用MySQLdb库调用插入语句进行数据插入操作了 4.pandas读取Excel文件,然后批量插入 在这里插入代码片 5.使用Navicat等工具,直接将excel导入数据库...参考文章: python执行mysql CUID操作 python解析excel 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

15.9K30

MySQL数据增删改

#删除大于2行 Query OK, 3 rows affected (0.00 sec) #注意点:如果不加条件就是全部删除,非常危险操作,例如:delete from test就是删除整个表数据...(0.00 sec) 2.2.使用truncate删除 #命令语法:truncate table 表名 mysql> truncate table test; #删除test表数据 Query OK,...清空物理文件 2.delete from test:逻辑清除,按行删 3.update修改表中数据 #命令语法:update 表名 set 字段=新值 ......where 条件 #查看帮助:help...,那么就会将表中所有数据进行修改 #示例:不加条件更改所有表记录 mysql> select * from test; +----+----------+-----+ | id | name...20 | | 4 | wu | 25 | | 5 | li | 30 | +----+------+-----+ 5 rows in set (0.00 sec) #防止误操作修改数据方法

59230

MySqlMySQL数据库--什么是MySQL回表 ?

专栏持续更新中:MySQL详解 一、背景 先要从 InnoDB 索引实现说起,InnoDB 有两大类索引: 聚集索引(clustered index) 普通索引 (secondary index...InnoDB 普通索引 叶子节点存储主键值。 注意:只有 InnoDB 普通索引才存储主键值,MyISAM 二级索引都是直接指向数据。...通俗讲就是,如果索引列在 select 所需获得列中(因为在 mysql 中索引是根据索引列值进行排序,所以索引节点中存在该列中部分值)或者根据一次索引查询就能获得记录就不需要回表,如果 select...比如上面的例子中,我根据username索引找到只是一个username为admin这条数据id而不是这条数据信息,所以要找到整条数据信息要根据得到id再去找。...,直接可以查出来,不再需要通过id找对应整条数据

21010

MySQL索引本质,MySQL索引实现,MySQL索引数据结构

(三)聚集索引和非聚集索引 二、MySQL中索引实现(摘) (一)MyISAM索引实现: (二)InnoDB索引实现: 一、索引本质 索引是帮助MySQL高效获取数据排好序数据结构。...(三)聚集索引和非聚集索引 回答这个问题之前先来看一下Mysql底层数据文件存储方式,这里拿MyISAM和InnoDB两种引擎来做比较。 1、MyISAM引擎 ?...二、MySQL中索引实现(摘) 在MySQL中,索引是在存储引擎层实现,不同存储引擎对索引实现方式是不同,下面我们探讨一下MyISAM和InnoDB两个存储引擎索引实现方式。...因为InnoDB数据文件本身要按主键聚集,所以InnoDB要求表必须有主键(MyISAM可以没有),如果没有显式指定,则MySQL系统会自动选择一个可以唯一标识数据记录列作为主键,如果不存在这种列,...则MySQL自动为InnoDB表生成一个隐含字段作为主键,这个字段长度为6个字节,类型为长整形。

1.8K30

mysql创建数据步骤_MySQL创建数据

是我刚刚建立数据库,其实在未执行创建一个数据库之前是查不到这个数据,也就是在mysql安装文件目录里看不到cjhl_xzf这个文件夹。...3、选择你所创建数据mysql> USE cjhl_xzf Database changed 此时你已经进入你刚才所建立数据库cjhl_xzf. 4、 创建一个数据库表 首先看现在你数据库中存在什么表...: mysql> SHOW TABLES; Empty set (0.00 sec) 说明刚才建立数据库中还没有数据库表。...创建了一个表后,我们可以看看刚才做结果,用SHOW TABLES显示数据库中有哪些表: mysql> SHOW TABLES; +———————+ | Tables in menagerie |...,或者直接在my.ini文件里面配置把这句加上:secure_file_priv=D:\mysql8.0.28(等号后面为mysql安装位置) 再使用如下命令看看是否已将数据输入到数据库表中: mysql

16.1K60

MySQL】拿来即用 —— MySQL数据类型

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习路上摸爬滚打,记录学习过程~ 个人主页:.29.博客 学习社区:进去逛一逛~ MySQL数据类型 ⚪...熟悉SQL 一、MySQL数据类型总结 二、常用类型详解 ⚪熟悉SQL 一、MySQL数据类型总结 类型 类型举例 位类型 BIT 集合类型 SET 枚举类型 ENUM 定点数类型 DECIMAL...集合:MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION ---- 二、常用类型详解 类型 描述 INT 从-231 到 231-1整型数据...存储大小为 4个字节 CHAR(size) 定长字符数据。...DATE 日期型数据,格式’YYYY-MM-DD’ BLOB 二进制形式长文本数据,最大可达4G TEXT 长文本数据,最大可达4G

14820

数据MySQL-MySQL执行顺序

五、MySQL执行顺序 MySQL语句一共分为11步,如下图所标注那样,最先执行总是FROM操作,最后执行是LIMIT操作。...其中每一个操作都会产生一张虚拟表,这个虚拟表作为一个处理输入,只是这些虚拟表对用户来说是透明,但是只有最后一个虚拟表才会被作为结果返回。...如果没有在语句中指定某一个子句,那么将会跳过相应步骤。 ? 下面我们来具体分析一下查询处理每一个阶段 FORM: 对FROM左边表和右边表计算笛卡尔积。...JOIN: 如果指定了OUTER JOIN(比如left join、 right join),那么保留表中未匹配行就会作为外部行添加到虚拟表VT2中,产生虚拟表VT3, rug from子句中包含两个以上表的话...只有符合记录才会被插入到虚拟表VT4中。 GROUP BY: 根据group by子句中列,对VT4中记录进行分组操作,产生VT5.

3.8K20

MySQL数据库】详细讲解MySQL查询

图片多表查询⭐多表关系在项目开发中,在进行数据库表结构设计时,会根据业务需求以及业务模块之间关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在各种联系,基本分为以下三种一对多(多对一...varchar(10) comment '课程名称') comment '课程表';​insert into course values (null,'java'),(null,'php'),(null,'mysql...student.name,course.name from student inner join course on student.id=course.id;图片⭐外连接左外连接图片相当于查询左表所有数据...包含 左表和右表交集部分数据select 字段列表 from 表1 left (outer) join 表2 on 条件……;会查询到左表所有数据图片 左表 图片右外连接图片相当于查询右表所有数据...包含 左表和右表交集部分数据select 字段列表 from 表1 right (outer) join 表2 on 条件……;会查询到右表所有数据图片⭐自连接就是在同一张表中进行查询 需要把一张表看作两张表自连接必须起别名图片

24640

MySQL数据数据类型

数据类型 一、数据类型分类 mysql数据类型分类如下,其中红色字体为常用类型: 二、数值类型 mysql 中表建立属性列:列名称 数据类型,例如 num int,它与我们平时写语言数据类型是倒过来...例如,小数:float(4,2) 表示范围是 -99.99 ~ 99.99 ,MySQL 在保存值时会进行四舍五入。...如果我们在上面的表格中插入大于两个字符数据,如下,是会越界插入: 这也就说明了一个问题,如果我们向 mysql 特定类型中插入不合法数据mysql 一般都是直接拦截我们,不让我们做对应操作!...反过来,如果我们已经有数据被成功插入到 mysql 中,一定插入时候是合法!...所以,mysql 中,一般而言,数据类型本身也是一种约束,所谓约束,就是倒逼用户尽可能进行正确插入,约束是用户,这样就能保证数据库中数据是可预期,完整

13110
领券