自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(155)
  • 资源 (2)
  • 收藏
  • 关注

原创 MATLAB视角调整

Matlab中有两个视角旋转函数:view和rotate。view:view(az,el):az是方位角,el是仰角,单位均是度。具体:以x轴从左到右(即从小到大)平行放置在我们面前,y轴正半轴垂直屏幕向里,此时的az=0度。以此为基础,从上往下看,顺时针旋转,az变大(大于0),逆时针旋转,az变小(小于0)。el从上往下看el=90度,当眼睛在XY平面上时,el=0度。Matl...

2019-10-24 14:36:53 2258

原创 十大排序算法之堆排序7

1.最小堆,排序,(从大到小)#include <iostream>#include <vector>#include <algorithm>using namespace std;// 从i节点开始调整,n为节点总数 从0开始计算 i节点的子节点为 2*i+1, 2*i+2void MinHeapFixdown(int a[], int...

2019-09-04 11:09:46 170

原创 LeetCode_322零钱兑换

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明:你可...

2019-08-24 23:42:26 172

原创 LeetCode_102二叉树分层打印

102.Binary Tree Level Order TraversalMedium169244FavoriteShareGiven a binary tree, return thelevel ordertraversal of its nodes' values. (ie, from left to right, level by level).For example:...

2019-08-21 16:00:19 174

原创 字符串加解密

题目描述1、对输入的字符串进行加解密,并输出。2加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;其他字符不做变化。3、解密方法为加密的逆过程。接口描述:实现接口,每个接口实现1个基本操作:voidEncrypt(c...

2019-08-09 11:54:17 263

原创 统计每个月的兔子总数

题目描述有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?输入描述:输入int型表示month输出描述:输出兔子总数int型示例1输入9输出34解题思路:月份 1 2 3 4 5 6 7 8 9 兔子年龄 1...

2019-08-07 11:21:39 298

原创 求最小公倍数

题目描述正整数A和正整数B的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例1输入5 7输出35解题思路:解题代码:#include<iostream>#include<vector>using ...

2019-08-06 16:58:49 146

原创 华为笔试题合唱队

题目描述计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足存在i(1<=i<=K)使得T1<T2<......<Ti-1<...

2019-08-06 10:46:59 394

原创 简单密码

题目描述密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈.接下来渊子要在密码之上再加一套密码,虽然简单但也安全。假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。他是这么变换的,大...

2019-08-02 22:40:56 408

原创 密码验证合格程序

题目描述密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度超2的子串重复说明:长度超过2的子串输入描述:一组或多组长度超过2的子符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG示例1输入021Abc9000021Abc9Abc1021ABC9000021$bc9000输出...

2019-08-02 21:34:00 275

原创 识别有效的IP地址和掩码并进行分类

题目描述请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。所有的IP地址划分为A,B,C,D,E五类A类地址1.0.0.0~126.255.255.255;B类地址128.0.0.0~191.255.255.255;C类地址192.0.0.0~223.255.255.255;D类地址224.0.0.0~239.25...

2019-08-02 10:33:06 522

原创 SQL 增删改查

【1】https://www.w3school.com.cn/sql/sql_alter.asp【2】https://blog.csdn.net/tswc_byy/article/details/81708728

2019-08-01 15:19:20 151

原创 坐标移动

题目描述开发一个坐标计算工具,A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。输入:合法坐标为A(或者D或者W或者S)+数字(两位以内)坐标之间以;分隔。 非法坐标点需要进行丢弃。如AA10;A1A;$%$;YAD;等。下面是一个简单的例...

2019-08-01 15:12:30 96

原创 LeetCode_51.N皇后问题

51. N皇后n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。给定一个整数n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个明确的n皇后问题的棋子放置方案,该方案中'Q'和'....

2019-07-21 20:57:07 169

原创 LeetCode_200岛屿数量

200. 岛屿数量给定一个由'1'(陆地)和'0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出:1示例2:输入:11000110000010000011输出: 3解题思路:回溯法...

2019-07-20 22:15:47 92

原创 LeetCode_79单词搜索

79. 单词搜索给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 wor...

2019-07-20 21:36:44 144

转载 C++中virtual虚函数的用法

在面向对象的C++语言中,虚函数(virtualfunction)是一个非常重要的概念。什么是虚函数:  虚函数是指一个类中你希望重载的成员函数 ,当你用一个 基类指针或引用 指向一个继承类对象的时候,调用一个虚函数时, 实际调用的是继承类的版本。  ——摘自MSDN#include <iostream>using namespace std;class Pa...

2019-07-20 12:11:52 103

原创 LeetCode_121.买卖股票的最佳时机

121. 买卖股票的最佳时机给定一个数组,它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利...

2019-07-19 15:51:26 111

原创 LeetCode_53.最大子序和

53. 最大子序和给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。解题思路:解题代码:1....

2019-07-19 15:43:54 73

原创 排列and组合问题

字符串或者数字的全排列,组合问题,在笔试面试中十分常见。1.全排列问题,如:字符串ABCDEF的所有排列问题或者数字1234的全排列问题Case 1:普通情况 Leetcode 46题代码:class Solution {public: vector<vector<int>> permute(vector<int>&...

2019-07-18 21:29:04 150

原创 LeetCode_46.全排列

46. 全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路:解题代码:1.class Solution {public: vector<vector<i...

2019-07-18 21:01:50 83

原创 LeetCode_17.电话号码的字母组合

17. 电话号码的字母组合给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。...

2019-07-17 23:21:16 77

原创 LeetCode_70.爬楼梯

70. 爬楼梯假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 +...

2019-07-17 19:18:06 61

原创 C/C++网络编程

关于网络编程这里指的是Linux环境下使用系统提供的socket API进行的网络编程开发,在实际工作中基本不会使用原始的socket API来开发,都是使用现成的库或框架,但是理解socket API对正确的使用这些库或框架,编写正确和高效的程序是很有帮助的。使用socket API进行网路编程最简单的就是调用socket、bind、listen、accept、read、write这几个...

2019-07-16 21:11:41 481

原创 LeetCode_113.路径总和2

113. 路径总和 II给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和sum = 22, 5 / \ 4 8 / / \ 11 13 4 ...

2019-07-16 21:10:00 156

原创 LeetCode_235.二叉树的最近公共祖先

235. 二叉搜索树的最近公共祖先给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]...

2019-07-16 20:35:23 79

原创 LeetCode_257.二叉树的所有路径

257. 二叉树的所有路径给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1 / \2 3 \ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3解题思路:在求解二叉树相关问题时,一般用...

2019-07-16 20:20:20 77

原创 LeetCode_111.二叉树的最小深度

111. 二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.解题思路:这题一看和求最大深度的哪一题差不多,...

2019-07-15 21:49:10 86

原创 LeetCode_112.路径总和

112. 路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和sum = 22, 5 / \ 4 8 / / \ 11...

2019-07-15 21:12:40 86

原创 LeetCode_226.翻转二叉树

226. 翻转二叉树翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1解题思路:充分理解二叉树递归过程中的,三部,递归终止条件,递归过程,返回结果解题代码:/** * Defini...

2019-07-15 20:53:18 84

原创 LeetCode_104.二叉树的最大深度

104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。解题思路:二叉树问题一般有递归比较简单,思路清晰...

2019-07-15 20:11:06 147

原创 Ubuntu(Linux环境)下C/C++代码编译与执行方法

方法一: (1) 创建编写C文件在终端(Ctrl+Alt+T调出)中用cd命令转到要创建C文件的目录下:用vi+filename 创建并打开文件,如 vi hello.c 然后输入代码#include<stdio.h>int main(){ printf("Hello Word !!!\n");} (2)编译C文件在终端中...

2019-07-15 10:03:00 919

原创 LeetCode_347.前K个高频元素

347. 前 K 个高频元素给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 ...

2019-07-13 20:55:51 103

原创 优先队列priority_queue解决算法问题

优先队列的底层实现是:堆对于堆的实现要会手写实现。解决问题类型题: 求前K的最大(最小)的元素等问题1.queue中的priority_queue来实现堆#include<iostream>#include<queue>#include<ctime>using namespace std;bool myCmp(int a,int b)...

2019-07-13 17:42:00 206

原创 LeetCode_279.完全平方数

279. 完全平方数给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于n。你需要让组成和的完全平方数的个数最少。示例1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.解题思路:对问题建模,将整个问题转化为一个图论...

2019-07-12 23:54:19 109

原创 LeetCode_4.两个排序数组的中位数

4.Median of Two Sorted Arrays(两个排序数组的中位数):其实就是找第K大的数HardThere are two sorted arraysnums1andnums2of size m and n respectively.Find the median of the two sorted arrays. The overall run time com...

2019-07-11 23:44:05 78

原创 LeetCode_145.二叉树的后序遍历(递归和非递归解)

145.Binary Tree Postorder TraversalGiven a binary tree, return thepostordertraversal of its nodes' values.Example:Input:[1,null,2,3] 1 \ 2 / 3Output:[3,2,1]Follow up:...

2019-07-07 19:41:51 100

原创 LeetCode_144.二叉树先序遍历

Binary Tree Preorder TraversalGiven a binary tree, return thepreordertraversal of its nodes' values.Example:Input:[1,null,2,3] 1 \ 2 / 3Output:[1,2,3]Follow up:Recurs...

2019-07-04 21:22:36 89

原创 LeetCode_94二叉树的中序遍历

给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?1.递归实现/** * Definition for a binary tree node. * struct TreeNode { * int val; ...

2019-07-04 20:46:18 66

原创 LeetCode_20.有效的括号

给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: ...

2019-07-03 23:17:12 107

标准粒子群算法代码PSO

大学教授编写的粒子群算法代码,MATLAB实现。通用性好,函数参数模块化,有详细的注释,便于移值。直接定义自己的目标函数(适应度函数、代价函数)即可使用。

2019-03-25

LeetCode分类详细题解

本书的目标读者是准备去北美找工作的码农,也适用于在国内找工作的码农,以及刚接触 ACM 算法竞赛的新手。本书包含了 LeetCode Online Judge(http://leetcode.com/onlinejudge) 所有题目的答案,所有代码经过精心编写,编码规范良好,适合读者反复揣摩,模仿,甚至在纸上默写。全书的代码,使用 C++ 11 的编写,并在 LeetCode Online Judge 上测试通过。

2019-03-23

空空如也

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

TA关注的人

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