2k 2 分钟

# 整数反转 # Note: 对于负数运算 除了 - m 导致溢出的特殊情况外,其他时候: (-m)/n 和 m/(-n) == -(m/n) , m%(-n) == m%n , (-m)%n == -(m%n) # 1.1 题目 # 1.2 解题思路 读完题目,第一反应是用 sprintf 整型转成字符串,一看见给定的函数原型的返回值 就弃了,既然不能转成字符串,那就干脆学习回文数的方法,逆向构造。每次循环取余得到数的最后一位,累加器在累加之前 先乘 10, 直到 0 == x, 这道题第一步就完成了 接着是边界判定,可以直接用 long 或者 long long,...
1.2k 1 分钟

# 两数之和 说明: 2.c 文件的解法会超时,之前是不会的,暴力 AC 就是不靠谱 # 1.1 题目 # 1.2 解题思路 我拿到这道题的第一个想法就是 快速排序,但是转念一想,这玩意要返回的是索引。唉,真就,绝了…… 当时脑子一抽就和快排干上了,既然不能改变索引值,那么干脆存下来。所以就有了结构体 typedef struct MyStruct{ int value; // 存放 大小 int index; // 存放 索引} NumArray;这就简单了写个 cmp 函数, qsort 一下,然后 用 bsearch 搜索...
186 1 分钟

# 标准库下串口移植乱码 为了改这个 bug,我花了一天的时间…… 只能怪自己,没学好时钟这一块的库函数和宏定义 野火的 STM32F407 的标准库里 默认 使用 25M 的外部晶振 而我的是 8M 的外部晶振,所以自行写了一个宏,(就很憨批) 然后 串口 就好使了, 怎么看自己的开发版晶震是多少 如果没有写可以去查一下晶振型号 真就自己太菜了,第一时间没有考虑到 时钟 (无能狂怒.jpg) 电赛不易,诸君共勉!
21k 19 分钟

# P38 外观数列 # 题目 给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。 注意:整数序列中的每一项将表示为一个字符串。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 第一项是数字 1 描述前一项,这个数是 1 即 “一个 1 ”,记作 11 描述前一项,这个数是 11 即 “两个 1 ” ,记作 21 描述前一项,这个数是 21 即 “一个 2 一个 1 ” ,记作 1211 描述前一项,这个数是 1211 即 “一个 1 一个 2...
1.4k 1 分钟

# 视图和索引 索引 (Index) 是影响数据性能的重要因素之一,设计高效的、合理的索引可以显著提高数据信息的查询速度和应用程序的性能。 视图(View)是一个存储指定查询语句的虚拟表,视图中数据来源于由定义视图所引用的表,并且能够实现动态引用,即表中数据发生变化,视图中的数据随之变化 # 理解索引 MySQL...
1.1k 1 分钟

# 多表操作 # 写在前面 多表操作会涉及到 主码,外码,这一块的知识 数据库理论课已经总结过了,这里不再赘述 对已存在表 修改约束用 alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名); 即可 删除外码用 alter table 表名 drop foreign key 外键名; 即可 下面进入正题,多表操作 # 交叉连接 返回的结果是被连接的两个表中所有数据行的笛卡尔积即行数的乘积。 SELECT * from 表1 CROSS JOIN 表2; PS:...
2.5k 2 分钟

# 简单查询 # 查询语句核心语法 SELECT [DISTINCT] *|{字段名1, 字段名2, 字段名3,……} FROM 表名 [WHERE 条件表达式1] [GROUP BY 字段名 [HAVING 条件表达式2]] [ORDER BY 字段名 [ASC|DESC]] [LIMIT [OFFSET] 记录数] “字段 1,字段 2…” 表示从表中查询的指定字段 星号 (“*”) 通配符表示表中所有字段,两者为互斥关系,任选其一 “DISTINCT” 是可选参数,用于剔除查询结果中重复的数据 from 表示从指定的表中查询数据 “WHERE”...
1.1k 1 分钟

# 添加、更新与删除数据 # 添加数据 基本 insert 命令格式: INSERT|replace INTO 表名(字段名1,字段名2,……) VALUES(值1,值2,……), (值1,值2,……); PS:使用 insert 语句不能插入重复的 id 号,replace 等价于 replace or insert 意义,无则插入,有则替代 不按属性顺序插入数据 或 数据缺项 时需要写明所插入的属性 按顺序插入且数据不缺项时,可以省略数据表字段 INSERT|replace INTO 表名 VALUES(值1,值2,……); insert | replace...
1.4k 1 分钟

# 数据库和数据表的基本操作 # 本次涉及命令 如何创建数据库 Create database 数据库名称;查看数据库 SHOW DATABASES; SHOW create DATABASE 数据库名;删除数据库 Drop database 数据库名;创建数据表 Create table 表名;打开数据库 use 数据库名;显示表 show tables;查看表 show create table 表名; desc 表名;/* 修改表 */Alter table 旧表名 rename to 新表名;Alter table 表名 change 旧字段名 新字段名 数据类型Alter table...
1.6k 1 分钟

# 数据库应用:Ubuntu 下 MySQL 的配置 # 写在前面 个人运气比较差,第一次装 mysql 为了和 QT 对接,结果发下 QT 要求试 MySQL 32 位 的 装上去之后发现有 bug 然后卸掉之后发现一个东西一直卸不掉,导致无法重新安装 Mysql, 成天以 sqlite 度日 就是这玩意,打死没卸掉 现在 要上实训课,所以开启我两年前装的 Ubuntu (捂脸), 来安装一下 MySQL # 开始配置 进入正题 # 第一步 安装 mysql 很显然得更新一下系统的软件源 sudo apt-get update 界面我就不给了,更新完,接着 就是 安装 mysql 了 一样...