自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 C语言数据类型

C语言中的数据类型前言一、C的基本数据类型1.整型1.1 signed和unsigned限定符总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言从小我们就接触和学习数学,我们现在能

2020-11-01 17:58:05 430 1

原创 剑指offer——矩阵中的路径

网上说回溯法解决问题时,很多都是用dfs,通过dfs获得每一个结果子集,然后判断是否符合问题的解,如果不符合则回溯到上一层结果子集class TreeNode { int val; TreeNode *children; TreeNode(int x):val(x), children(nullptr) {};};// dfs模板,这里只给出遍历多叉树的模板map<int, int> visited;void dfs(TreeNode *root) {

2020-10-04 14:38:22 87

原创 排序之归并排序

归并排序还是有点云里雾里(尤其是递归的时候的状态树与函数调用时的栈的状态不太清楚,需要写代码加断点做测试),先记录下来,后面有时间再弄,先查到一个用断点测试后,描述归并排序时递归状态树的博客:https://blog.youkuaiyun.com/Cinderella_hou/article/details/51763681,其实如果按照《极客大学》算法训练营的覃超老师讲的分治的模板,应该比较好写出来:分治的模板:int divide_conquer(Problem *problem, int params)

2020-09-29 22:41:44 110

原创 剑指offer—两个栈实现队列

不同的结构之间的表示:用2个?Note:stack1来用来一直push,加入我们push了1, 2, 3三个数,他们在stack1中的是顺序是(FILO),因此pop时,队列需要的先进先出(FIFO),无法从stack1中获取到先进的1,因此我们想pop时:1.当stack2为空时,我们将stack1的元素全部pop出并push进stack2,则此时stack2中的元素就是FIFO顺序了,2.当stack2不为空时,我们不将stack1中的元素pop并push进stack2(否则打破了FIF

2020-09-21 17:06:49 174

原创 剑指offer-8 9 斐波那锲 和 跳台阶、变态跳台阶

8 斐波那锲函数// 递归public class Solution { public Integer Fibnaco(Interger n) { return n <= 0 ? 0 : Fibnaco(n-2) + Fibnaco(n-1); }}// 自底向上public class Solution { public Integer Fibnaco(Interger n) { if (n == 0) return 0;

2020-09-21 15:13:49 93

原创 leetcode-459:重复的子字符串

给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。例子:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。思路1:枚举如果字符串有可以重复多次=字符串的子字符串,则对于某一个长度为n'的字符串(n'<n),i从[n', n)有s[i] = s[i - n']——字符前缀相同。所以可以通过枚举,不断枚举子字符串,并判断s[i] =? s[i-n'],如果不相同则bre

2020-09-21 11:25:10 118

原创 剑指offer-4-前中序遍历树的数组重建二叉树

二叉树重建的模板:buildTree(1...) { // 前、中序遍历的数组和preleft、preright、vinleft、vinright的边界 if (...) { return nullptr; } TreeNode *root = new TreeNode(2...); // 前序遍历的第一个元素为根结点,不过这里的第一个元素是根据preleft变化的 root->left = buildTree(3....); /...

2020-09-18 00:08:47 83

原创 剑指offer-3-反序返回链表

问题:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。Note:反序:先访问的节点后返回——栈特性所以我们从链表的头结点来迭代的访问下去,直到到最后一个链表的节点,同时不断向栈中push节点,最后将栈不断弹出节点,将节点的val push进结果数组中:/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :*

2020-09-17 23:16:45 79

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

题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。Note:数组长度变长了,有点类似于在数组中插入数组,这是数组长度就会变长,我们知道对于数组中插入元素,需要使用双指针从数组的末未开始!!!程序:class solution:public: void func1(int length, char *str) { if (str == nullptr

2020-09-17 13:20:17 62

原创 剑指offer-1-二维数组中找某值元素

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。暴力:两层for循环牛客网上的样例比较简单(小),所以应能通过,时间复杂度O(m*n)=>O(n^2)class Solution {public: bool Find(int target, vector<vector<int> > array) {

2020-09-17 12:23:50 96

原创 git简单使用

1.下载git并安装,随便百度一个博客:https://www.cnblogs.com/xueweisuoyong/p/11914045.html2.运行Git Bash3.首先cd到你希望的位置,笔者事先在Linux的home下新建了一个文件夹git_fast_learn的文件夹

2020-09-10 17:36:26 144

原创 数据结构——二叉树及其易记迭代遍历写法

首先二叉树有不同的遍历顺序:preorder(前序遍历:根-左-右) inorder(中序遍历:左-根-右) postorder(后序遍历:左-右-根)其中的 '左' 和 '右' 是二叉树的 左子树 和 右子树 的简称。树的3种遍历顺序都可以使用 迭代法 和 递归方式实现,两种实现方式的区别:迭代:实际使用栈来模拟遍历的方式(其中使用nullptr标记法的迭代遍历写法比较通用——针对三种不同的遍历方式只需要更改3-4行的语句就可以实现)递归:递归方式实现二叉树的三种遍历写法更加简洁,比

2020-09-10 09:39:04 297

原创 排序算法系列——选择排序

选择排序步骤:从未排序数组中选择最小值,并放在有序子数组的末尾; 继续从未排序数组中选择最小值(第二小),放在有序数组的末尾; 重复第二步,直到完成排序具体代码:public static void selectSort(int[] arr) { int length = arr.length; for (int i = 0; i < length - 1; i++) { int min = i; for (int j

2020-09-08 17:45:59 85

原创 排序之插入排序

目标:将数组array[n]进行升序排序,我理解的插入排序:1.整体思路:插入排序的对象分为有序子数组和无序子数组,排序的过程就是从无序子数组中不断取元素,与有序子数组中的元素按照从后到前的顺序进行比较,并将当前元素放到合适的位置2.要点:默认数组的第一个元素构成的子数组是有序的(因为1个元素本省必然有序),然后从 j = 1 开始(无序子数组的开始),将无序子数组的头的值存在temp中,在 j >=1的情况下,循环比较temp<array[j-1]?: 如果满足条件则 ar.

2020-09-08 17:04:48 107

原创 排序算法系列——冒泡排序

对数组array[n],其数组长度为n,元素索引0~n-1,对其进行升序排序,针对n<=10时,可选择冒泡排序冒泡排序要点:1.冒泡排序有两层循环,外层循环控制排序的轮数 i,内存循环负责将相邻元素进行比较和交换;2.其中外层排序的轮数 i 为[0,length-1)区间,即外层循环比较length-1次,比较简单的理解就是如果数组array={2, 1},那么i从0开始,当i<2-1时,进行第一轮排序,很显然这只需要进行一轮排序即可,;3.内层循环在数组索引 j =0 到 j

2020-09-08 11:11:35 193

原创 新的开始

定好方向,干就对了! ——未来极客

2020-09-07 21:40:59 86

空空如也

空空如也

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

TA关注的人

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