自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

漫鱼

计科专业大学生

  • 博客(15)
  • 收藏
  • 关注

原创 连续子数组的最大和——剑指offer

这道题解法很多,最经典的就是动态规划。 状态是数组下标i,状态对应的值是以i为终点的连续最大和,用一个DP数组记录每个状态的值。 原问题转化为求max(DP[0]……DP[i]), 为求DP[i]的值,需要解决的子问题是求出DP[0]……DP[i-1]。 原问题和子问题的关系也即———转移方程是: DP[i] = array[i] (DP[i-1]>0) || DP[i-1] ...

2018-03-31 21:58:15 379

原创 二维数组中的查找——剑指offer

二分查找思想。 主要练习了vector的二维创建传参。bool Find(int target, vector<vector<int> > array) { int cols = array[0].size(); int rows = array.size(); int x = rows - 1; int y = 0; whil...

2018-03-30 20:46:48 561 2

原创 构建乘积数组——剑指offer

题目描述有问题,给出的A应该是{1,2,3,4,5}.而不是从0开始,给出的测试用例也是从一开始,这点很坑。 这道题就是考察边界条件的分析以及数组找规律。 B的每一行分为两部分计算,以对角线为分割,C为左上三角数组,D为右下三角数组,B = C * D;vector<int> multiply(const vector<int>& A) { in...

2018-03-30 19:08:34 396

原创 数组中重复的数字——剑指offer

简单的思路:创建一个length长度的变长数组,作为hash表,出现一次加一,最后遍历原数组找到第一个出现一次的。 练习了c语言动态内存开辟bool duplicate(int numbers[], int length, int* duplication) { if (duplication == NULL || numbers == NULL) { retur...

2018-03-30 15:00:24 290

原创 替换空格-——剑指offer

思路很清晰:正着拷字符串每次遇到空格都要把源串内容向后平移,时间复杂度较大,所以先预处理字符串,数出空格数。然后定义两个指针 pf = str + length ; pf = str + length + 2*空格数; 遇到空格pt换成%20,非空格原样复制。 *遇到的一个坑,循环终止条件是length+1次,因为有0也要拷一次。void replaceSpace(char *str,...

2018-03-30 14:07:20 304

原创 表示数值的字符串——剑指offer

这道题写起来比较繁琐,需要考虑+-号是否出现在第一个位置,.是否出现一次,以e为分割前后是不是正确的格式,e前可以为浮点数或者整数,e后只能是整数。 因此如果把函数分成三个子函数来写就好多了,一个函数判断是不是整数,一个判断是不是浮点数,一个判断e前后是否合法。#include <stdio.h>#include <windows.h>bool is_znum(c...

2018-03-29 10:59:14 462

原创 正则表达式匹配——剑指offer

这道字符串匹配很精妙,第一次我做这个题用循环模拟,但是遇到*号时需要尝试所有的可能,故写不下去了,尝试使用递归解。#include <stdio.h>#include <windows.h>bool matchCore(char*, char*);bool match(char* str, char* pattern){ if (str == NUL...

2018-03-28 22:43:21 446

原创 c语言结构体等自定义类型探究

结构体类型创建结构体初始化访问结构体成员结构体内存对齐位段联合结构体类型创建结构体声明格式struct tag{ member_list;}variable_list;tag是结构体的名称,大括号里放成员变量,括号外面相当与直接定义的变量,与struct tag var;是相等的定义方式。*需要注意任何两个结构体都是不同类型,哪怕...

2018-03-28 16:47:20 499

原创 c语言回调函数

回调函数究竟有什么作用呢设想现在有一个库函数叫bubble_sort 可以使用冒泡排序算法,但是用户有时候想调用它对整形数组排序,有时又想对字符数组进行排序,那怎么设计这个库函数呢?解决方法就是在库函数中留一个参数是函数指针,指向回调函数,而这个回调函数由用户编写,根据自己的需求写出具体的类型比较规则。这样用户不需要知道库函数具体的实现,只需要传入一个比较函数就可以得到答案。...

2018-03-21 18:23:58 348

原创 linux基础命令

命令的进阶用法ls三种查找tail 的妙用tar命令文件权限文件连接linux下重要目录粘滞位用户设置位更换yum源命令的进阶用法ls三个常用的选项 -l -a -s ,分别是显示长列表,显示隐藏文件,显示文件大小另一个选项 - R ,递归的显示子目录下的文件,(大R)三种查找命令查找用 which [命令名]文件查...

2018-03-18 18:17:22 519

原创 自行实现linux命令之——cal日历命令

linux cal日历命令自行实现效果图思路是已知2000年1月1日的星期,然后当前日期减去它算出相差天数,计算出查询月的首天是星期几,最后将三个月份装入3个数组显示出来。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int Day[] = { 0,31,28,31,30,31,30,31,31,30,31,3...

2018-03-18 15:41:32 1612

原创 c语言可变参数函数详解

阅读本篇需要具备栈帧的知识,见栈帧详解看两个可变参数的具体使用例子求几个数的平均数#include <stdio.h>#include <stdarg.h>int avg(int n, ...){ va_list arg; int i = 0; int sum = 0; va_start(arg, n); ...

2018-03-15 23:38:52 568

原创 c语言递归练习习题

求第n个斐波那契数求n的k次方输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19递归实现字符串反转递归和非递归分别实现strlen递归求n的阶乘递归方式实现正序打印一个整数的每一位求第n个斐波那契数#define _CRT_SECURE_NO_WARNINGS#include <st...

2018-03-15 16:00:05 6513 5

原创 c语言函数调用过程-栈帧详解

c语言函数调用过程-栈帧详解c语言函数调用过程-栈帧详解通过栈帧结构修改函数返回时的跳转地址使非正常跳转的函数回来手动调整main栈帧结构 测试环境,vs2017,win10用一个测试代码来看#include <stdio.h>int fun(int a, int b){ int z = a + b; return ...

2018-03-10 16:47:41 2515 4

原创 mysql命令总结

创建数据库首先启动数据库服务端服务连接数据库客户端创建数据库,使用数据库创建表操纵数据库操纵语句修改库和表增删改语句数据库备份查询优化关于sql语句的执行顺序多表查询自连接内连接外连接子查询删除表中的的重复记录外键索引事务四个属性要牢记~开始事务事务隔离级别设置事务隔离级别视图视图与表区别创建数据库...

2018-03-04 20:10:00 498

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除