自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

young_Tao的博客

编程天地,欢迎交流

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

原创 树的后序遍历递归迭代做法LeetCode145

题意给定一个二叉树,返回后序遍历递归方法只要确定好递归出口和递归操作流程即可,代码如下:void posttravel(TreeNode* root, vector<int>& res) { if(root == nullptr) return; if(root->left != nullptr) posttravel(root->left, res); if(root->right != nullptr

2020-09-29 19:54:07 42

原创 9.27网易互娱笔试题1,2题代码

第一题关于蛇形遍历数组的题目,AC代码如下:#include<bits/stdc++.h>using namespace std;vector<vector<int>> prepare(int n){ vector<vector<int>> data(n, vector<int>(n, 0)); int left = 0, right = n-1; int up = 0, down = n-1;

2020-09-28 10:00:08 888 3

原创 链表两数相加的递归和迭代解法 LeetCode445

题意给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。输入(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)输出7 -> 8 -> 0 -> 71. 迭代正常思路的话都是从低位开始相加,计算进位carry,模拟加法过程。但这里数据表示是数字高位位于链表开始位置,所以我们很容易想到翻转链表,然后

2020-09-24 15:58:41 19

原创 腾讯9.6笔试

直接给出代码:/*50 52 1 25 10 11 12 13 142 0 12 49 24 6 7 8 2 */#include<bits/stdc++.h>using namespace std;vector<vector<int>> data;set<int> s;int main(){ int n , m; cin >> n >> m; for(int i = 0; i

2020-09-09 08:52:45 71

原创 9.4阿里笔试,第二题

题意大概是给定一棵树,任意删掉一个叶子节点到根节点路径上的结点,得到一个森林,求得到最大森林数。示例:71 21 32 42 53 63 7得到如下所示的树:删掉叶子节点4到根节点1的路径上的结点1->2->4,剩下两棵树:5和(3, 6, 7)删除其他叶子节点最大也只能获得两棵树,所以最后结果输出2。本人解法我的解法是首先定义post用来记录每一个节点的父节点,比如post[4] = 2。然后找到叶子节点存到vector yezi中,这里显然是(4, 5, 6,

2020-09-04 10:21:19 116 3

原创 c++ priority_queue用法

c++ priority_queue是优先队列,可以用来实现大根堆和小根堆。默认priority_queue是大根堆。priority_queue<int> pq; // 大根堆//等同于priority_queue<int, vector<int>, std::less<int>> pq;priority_queue的模板类型是:template <typename T, typename Container=std::vector<

2020-09-01 11:24:15 35

原创 c++ vector扩容时,内存分配的问题

vector扩容时,内存如何分配当vector分配的内存不够时,系统会分配2倍于之前的内存空间,将原先内存中的数据原封不动的搬过去。那么新的大内存空间是如何选择的呢?是直接在旧空间后边连续的2倍空间,还是任意空闲区域的空间呢?下面根据实验结果来说明:#include<iostream>#include<vector>using namespace std;void mycapacity(const vector<int>& vec){ cou

2020-08-25 22:14:34 167

原创 c++ const关键字

介绍const在c++中用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。修饰的对象不可改变。用法修饰普通类型的变量: const int a = 1;a不可进行赋值操作。修饰指针变量,根据修饰的部分又可分成三种:– 修饰指针指向的内容:const int* p = &a;那么p指向的a不可改变– 修饰指针:int* const p = &a;那么p指向的地址不可改变,但是地址内的值可以改变– 修饰指针和指向的内容:const int* const p = &am

2020-08-04 20:37:50 41

原创 树的构建和遍历

LeetCode中树的构建和遍历这里主要介绍如何给定N,构建一棵有N个节点的完全二叉树:给定N,那么完全二叉树的结点值从1~N。我们可以使用层序遍历的方式为队列中的结点新建子节点,这里要注意子节点的值是否超过了给定的N。代码#include <bits/stdc++.h>using namespace std;struct Node{ int val; Node* left; Node* right; Node(int v) {

2020-08-03 19:50:05 45

原创 329. 矩阵中的最长递增路径

题目描述给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums =[[9,9,4],[6,6,8],[2,1,1]]输出: 4解释: 最长递增路径为 [1, 2, 6, 9]。示例 2输入: nums =[[3,4,5],[3,2,6],[2,2,1]]输出: 4解释: 最长递增路径是 [3, 4, 5, 6]。注意不允许在对角线方向上移动。解

2020-07-26 12:12:32 32

原创 pandas.factorize()

查阅pandas文档,找到对应的说明pandas.factorize()文档解析:观察直到,该函数输入一个sequence,返回一个元组,包含一个array对象和index类型对象。我们直接看官方示例:由上面可见,我们送入一串序列['b', 'b', 'a', 'c', 'b'],该函数做了什么事,其实,它是将送入的字符映射成数字,原则是相同的字符对应同一个数字。...

2019-12-10 10:14:33 165

原创 pandas.qcut()

查阅pandas文档,找到对应的说明pandas.qcut()文档解析:该函数使用分位数对数据进行划分(分箱: bining),可以得到大小基本相等的箱子(bin),以区间形式表示。比如示例中:range(5) : (0, 1, 2, 3, 4), 将其四等分成四个箱子,分别为(-0.001, 1.0], (1.0, 2.0], (2.0, 3.0...

2019-12-10 09:57:37 93

转载 Ubuntu16.04更新源

1、备份系统默认的源sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak2、修改 /etc/apt/sources.list将sources.list里面的内容全部由一下任意一个替换[1] -阿里云源# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd...

2019-12-07 14:49:02 158

原创 7-1 宿舍谁最高?

题目描述:学校选拔篮球队员,每间宿舍最多有4个人。现给出宿舍列表,请找出每个宿舍最高的同学。定义一个学生类Student,有身高height,体重weight等。输入格式:首先输入一个整型数n (1<=n<=1000000),表示n位同学。紧跟着n行输入,每一行格式为:宿舍号,name,height,weight。宿舍号的区间为[0,999999], name 由字母组...

2019-09-27 19:22:30 907

原创 6-3 创建CPU

题目描述:定义一个CPU类,包含等级(Rank)、频率(frequency)、电压(voltage)等属性。其中,rank为枚举类型CPU__Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。函数接口定义:根据题目要求写出类。裁判测试程序样例:/* 请在这...

2019-09-27 19:21:28 1271

原创 6-2 学生成绩的快速录入(构造函数)

题目描述:现在需要录入一批学生的成绩(学号,成绩)。其中学号是正整数,并且录入时,后录入学生的学号会比前面的学号大;成绩分两等,通过(Pass,录入时用1代表),不通过(Fail,录入时用0代表)。由于很多学号都是相邻的,并且学号相邻的学生成绩常常相同。所以在录入时,适当地加了速。如果当前学生的学号比前面的学号大1,且成绩与前面的成绩相同,则只输入0即可。类定义:完成Studen...

2019-09-27 19:20:23 684

原创 6-1 类的声明与成员函数的实现--Car类

最近c++课程布置了第一次作业,虽然之前一直在用c++刷题,但是仔细想想好像从来没有系统的学过,趁这个机会好好过一遍。下面是题目要求:本题要求根据给定的Car类的声明,实现其成员函数。类和函数接口定义:class Car //定义类Car{ //成员函数public: void disp_welcomemsg(); //显示欢迎信息 int g...

2019-09-27 19:18:41 2574

原创 LeetCode 2.两数相加(c++)

题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7...

2019-09-25 10:38:04 180

原创 LeetCode 1.两数之和(c++)

题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1...

2019-09-24 10:53:48 142

原创 求最长公共子串的长度代码

#include&lt;iostream&gt;#include&lt;string&gt;#include&lt;vector&gt;using namespace std;string str1, str2;typedef long long ll;const ll maxn = 1000;const ll MOD = 1000000007;const ll P = 100...

2018-08-23 16:26:37 191

原创 AOE网上的关键路径长度求解代码(输出相关数组以及关键路径)

题目图如下所示: 代码:#include&lt;iostream&gt;#include&lt;algorithm&gt;#include&lt;vector&gt;#include&lt;queue&gt;#include&lt;stack&gt;#define maxn 1000using namespace std;struct node{ int...

2018-08-22 15:59:59 929

原创 dijkstra算法求单源最短路径长度并输出最短路径 代码

代码/*6 8 00 1 10 3 40 4 41 3 22 5 13 2 23 4 34 5 3*/#include&lt;iostream&gt;#include&lt;algorithm&gt;using namespace std;const int maxv = 1000;const int INF = 1000000000;int n, m,...

2018-08-18 14:39:52 2246

原创 求连通块的个数代码 dfs/并查集

dfs代码://求连通块的个数#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;vector&gt;#define maxn 1000using namespace std;vector&lt;int&gt; G[maxn];bool vis[maxn] = {false};int m, n;void ...

2018-08-17 19:01:10 664

原创 动态规划求解数塔问题 代码

/*558 312 7 164 10 11 69 5 3 9 4*/#include&lt;iostream&gt;#define maxn 1000using namespace std;int dp[maxn][maxn]; //dp[i][j]表示第i行第j列出发到达最底层的所有路径中的最大和int maze[maxn][maxn]; //这里若是ma...

2018-08-14 19:35:04 1037

原创 PAT - A1034 - Head of a Gang代码

#include&lt;iostream&gt;#include&lt;string&gt;#include&lt;map&gt;using namespace std;const int maxn = 2010;const int INF = 1000000000;map&lt;int, string&gt; intToString;map&lt;string, int&gt;...

2018-08-14 19:09:26 121

原创 用优先级队列来实现树的带权路径最小值的求解

反复选择两个最小的元素合并, 直到只剩下一个元素代码:#include&lt;iostream&gt;#include&lt;queue&gt;using namespace std;priority_queue&lt;int, vector&lt;int&gt;, greater&lt;int&gt;&gt; q;int main(){ int n, temp;...

2018-08-13 15:49:56 236

原创 哈夫曼编码与解码代码

#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;string.h&gt;#include&lt;queue&gt;using namespace std;typedef struct node{ char ch; //存储该节点表示的字符,只有叶子节点用的到 i...

2018-08-12 20:58:14 588

原创 堆的定义和基本操作代码

//85 55 82 57 68 92 99 98 66 56#include&lt;iostream&gt;#define maxn 1000using namespace std;int heap[maxn];int n = 10;//big - topvoid downjust(int low, int high){ int i = low, j = 2*i;...

2018-08-12 20:12:23 139

原创 平衡二叉树代码

先将平衡二叉树代码存在这里,具体的原理解释,以后有时间再补充代码:#include&lt;iostream&gt;#define maxn 1000using namespace std;struct node{ int data; int height; node *lchild, *rchild;};int key[maxn];int n;...

2018-08-11 16:47:53 239

原创 word文档打不开(提示内存不足、或者没有权限)

问题有些时候从网上下载的文档,会出现打不开的情况,提示如下图所示:解决方案为:右键点击要打开的文件--属性在属性对话框中,在最下端有个按钮【解除锁定】点击【解除锁定】,关闭对话框,再打开刚解锁的文件即可解决。点击解除锁定之后再尝试,此时文档可以打开...

2018-05-29 07:50:25 5907

原创 排序算法之插入排序

插入排序直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。图解实例:代码实现://如果不使用len = getarraylength(arr); 运行...

2018-05-10 11:09:51 83

原创 hiho一下第一周 最长回文子串

题目1 : 最长回文子串时间限制:1000ms单点时限:1000ms内存限制:256MB描述   小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。   这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能分别在这些字符串中找到它们每一个的最长回文子串呢?”   小Ho奇怪的问道:“什...

2018-04-15 20:36:44 122

原创 hiho一下 第197周 逆序单词

题目1 : 逆序单词时间限制:10000ms单点时限:1000ms内存限制:256MB描述在英文中有很多逆序的单词,比如dog和god,evil和live等等。现在给出一份包含N个单词的单词表,其中每个单词只出现一次,请你找出其中有多少对逆序单词。输入第1行:1个整数,N,表示单词数量。2≤N≤50,000。第2..N+1行:每行1个单词,只包含小写字母,每个单词长度不超过16个字母。保证每个单词...

2018-04-13 22:10:22 136

原创 c++STL库容器之集合set

set 简介set是STL中一种标准关联容器,其键值就是实值,实值就是键值,不可以有重复,所以我们不能通过set的迭代器来改变set的元素的值。它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交(set_inters...

2018-04-06 10:37:04 235

原创 ubuntu16.04中安装网易云音乐

1. 在网易云官网中下载linux版本的安装包,网址是 http://music.163.com/#/download2. 打开终端,进入默认下载路径/downloads3. 安装过程会出现错误,显示未安装依赖4. 不要担心,我们只需要安装依赖就行,在终端内输入sudo apt-get -f install5. 回车之后,安装完成,接着我们再尝试步骤2输入命令,回车6. 到此为止,在乌班图上就安装...

2018-04-05 14:13:58 1437 1

原创 c++STL库容器之map

map简介Map是STL的一个关联容器,它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织...

2018-04-05 11:12:50 1661

原创 c++ STL容器之栈stack

Stack简介C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。 Stack初始化stack&lt;int&gt;  s;通过s.push() 为栈赋值,如s.push(1); stack常用函数 这里我们着重讲解函数swap():先看一段代码://以下代码用来测试swap()函数的作用 stack&lt;i...

2018-04-04 21:08:37 225

原创 c++ STL库容器之向量vector

vector简介vector向量是一种顺序行容器。相当于数组,但其大小可以不预先指定,并且自动扩展。它可以像数组一样被操作,由于它的特性我们完全可以将vector 看作动态数组。在创建一个vector 后,它会自动在内存中分配一块连续的内存空间进行数据存储,初始的空间大小可以预先指定也可以由vector 默认指定。当存储的数据超过分配的空间时vector 会重新分配一块内存块,但这样的分配是很耗时...

2018-04-04 20:20:46 149

原创 回文数判定

给定一个字符串,判定是否是回文数,如abcba是回文数,abc不是实例输入abcba实例输出abcba是一个回文数代码:/*本实验完成验证一个字符串是否为回文字符串*/#include #include #include#include#define max 10int top = 100;void init_sta

2017-11-18 20:36:35 225

原创 数制转换

任意给定一个正整数n,再输入一个正整数m,返回n的m进制表示示例输入102示例输出1010(二进制下的10)代码如下:/*本程序完成对给定一个十进制数进行任意进制的转换*/#include #include #define false 0#define true 1int top = 100;void init_s

2017-11-18 20:30:51 242

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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