自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个不知名码农的专栏

学习ing~喜欢请点赞关注,一起成长一起努力。

  • 博客(82)
  • 资源 (2)
  • 收藏
  • 关注

原创 分治算法

划分问题:整个问题划分成多个无关联的子问题。递归求解:递归调用求解各个子问题。合并问题:合并子问题的解,形成原始问题的解。以Leetcode数组的连续数列最大和例子为例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。分治实现:分治思路:nums = [-2,1,-3,4,-1,2,1,-5,4]首先,将问题划分为多个无关的子问题,在这里将整个数组每次递归划分为两部分nums1和nums2,那么最大

2020-10-06 17:05:41 244

原创 Leetcode:最接近的三数之和(双指针)

最接近的三数之和给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。实现思路:双指针,对于N数之和一类的问题,第一反应就应该是先排序,然后使用双指针。如果使用暴力解法,时间复杂度要O(n^3),一般会超

2020-10-05 14:45:48 235

原创 连续二维排序数组中数的查找

在一个二维数组中(每个一维数组的长度相同),第一行都按照从左到右递增的顺序排序,下一列按照从左到右递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如:数组中查找7是否存在? {1, 2, 3}, {4, 5, 6}, {7, 8, 9}关于有序序列查找第一反应看是否可以用二分查找解决,由于二维数组从第一行到下面各行都是默...

2019-09-12 15:38:01 286

原创 消消乐实现

消消乐,相除相邻地一样地值。/*5 41 2 1 4 11 1 1 1 32 4 1 2 32 5 1 3 25 2 1 5 51 21 31 53 4*/#include <iostream>#include <vector>//#include <algorithm>using namespace std;int arr...

2019-09-06 22:38:01 2452

原创 C++11多线程模拟售票

买火车票是大家春节回家最为关注的事情,我们就简单模拟一下火车票的售票系统(为使程序简单,我们就抽出最简单的模型进行模拟):有100张从北京到赣州的火车票,在6个窗口同时出售,保证系统的稳定性和数据的原子性。)#include <iostream>#include <list>#include <thread>#include <mutex>...

2019-09-06 18:02:16 1629

原创 C++虚函数

C++虚函数纯虚函数虚函数纯虚函数纯虚函数 virtual void fun() = 0;纯虚函数的出现时为了应对一些特殊的情况,即基类无法实现某些抽线行为,交由继承类去实现。=0告诉编译器此函数为纯虚函数,由此可以引出抽象类。抽象类指的是包含一个或者一个以上的纯虚函数的类。派生类继承基类的时候必须实现纯虚函数,否则编译不通过。虚函数普通虚函数 virtual voi...

2019-09-03 14:13:44 1371 4

原创 C++单例模式实现

单例模式单例模式:要求类只有一个对象实例,数据库连接池、线程池以及Windows任务管理器都是单例模式的应用。那么如何去实现一个单例模式呢?C++中有5种实现的方式,首先从最简单说起1. 单线程实现常规写法class Singleton{public: static Singleton* getInstance() { if(_instance == nullptr) ...

2019-09-02 23:31:05 3027 1

原创 C++类与对象归纳

C++类与对象抽象封装继承多态抽象面向对象方法中将一个问题抽象化,抽象为两部分即以描述人为例子数据抽象 int age; // 年龄 int height; // 身高 int sex; //性别行为抽象我的理解在一个类中,数据抽象就是类的成员变量,行为抽象就是类的成员函数。 void eat() {}; //吃饭 void sleep() {}; //睡觉,人...

2019-09-02 17:53:12 291

原创 LeetCode:二叉树最大宽度

class Solution {public: struct node { TreeNode* root; long double site;//用个样例血坑必须扩大范围不然过不了 }; node start,end,tmp,temp; queue<node> que;long double curLayer=1,ind...

2019-08-30 13:10:34 323

原创 LeetCode:单链表回文

请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: trueclass Solution {public: bool isPalindrome(ListNode* head) { if(!head||!head->next) return true; ...

2019-08-27 18:52:31 213 1

原创 LeetCode:最小路径和

给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。 // 动态规划方程: dp[i][j] = grid[i][j] + min(dp[i-1][j],...

2019-08-26 14:35:38 210

原创 LeetCode:子集

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]class Solution {public: vector<vector&lt...

2019-08-25 14:56:14 174

原创 LeetCode:猜数字大小

我们正在玩一个猜数字游戏。 游戏规则如下:我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0):-1 : 我的数字比较小 1 : 我的数字比较大 0 : 恭喜!你猜对了!示例 :输入: n = 10, pick = 6输...

2019-08-23 16:24:29 296

原创 LeetCode:三数之和

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]class Solutio...

2019-08-20 22:50:42 130

原创 LeetCode:前 K 个高频元素

给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1] 。class Solution {public: vector<int> topKFrequent(vector<int>&...

2019-08-16 11:16:03 194

原创 LeetCode:最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6 class Solution {public: int maxSubArray(vector<int>& nums) { ...

2019-08-12 22:49:09 157

原创 LeetCode:全排列

leetcode题目链接给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]实现思路:使用DFS深搜, num.pop_back()这句很关键class Solution {public: vect...

2019-08-04 14:49:16 604

原创 LeetCode:N皇后

n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1 "...Q", "...

2019-08-04 14:00:32 161

原创 LeetCode:合并区间

给出一个区间的集合,请合并所有重叠的区间。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/merge-intervals示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示...

2019-07-28 16:14:18 812

原创 LeetCode:替换空格

题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。输入:每个输入文件仅包含一组测试样例。 对于每组测试案例,输入一行代表要处理的字符串。输出:对应每个测试案例,出经过处理后的字符串。样例输入:We Are Happy样例输出:We%20Are%20Ha...

2019-07-28 14:16:02 956

原创 LeetCode:两个数组的交集

给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]代码class Solution {public: vector<int> intersection(vecto...

2019-07-26 16:47:20 224

原创 LeetCode:令牌放置

你的初始能量为 P,初始分数为 0,只有一包令牌。令牌的值为 token[i],每个令牌最多只能使用一次,可能的两种使用方法如下:如果你至少有 token[i] 点能量,可以将令牌置为正面朝上,失去 token[i] 点能量,并得到 1 分。如果我们至少有 1 分,可以将令牌置为反面朝上,获得 token[i] 点能量,并失去 1 分。在使用任意数量的令牌后,返回我们可以得到的最大分数。...

2019-07-25 14:49:42 307

原创 LeetCode:最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb" //O(n^2)解法,勉强ACclass Solution {public: string longestPalindrome(string s...

2019-07-24 23:02:49 134

原创 LeetCode:子数组最大平均数 I

LeetCode:子数组最大平均数 I题目给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。示例 1:输入: [1,12,-5,-6,50,3], k = 4输出: 12.75解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75注意:1 <= k <= n <= 30,000。所给数据范围 [-10,000...

2019-07-24 16:49:39 435

原创 LeetCode:课程表 (1, 2)

LeetCode:课程表这是很简单的拓扑排序问题现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]] 输出: true解释: 总共有 2 门课程。学习课程...

2019-07-19 14:16:12 480

原创 最短路:迪杰斯特拉算法

迪杰斯特拉算法这里是引用#include<queue>#include<stack>#include<vector>#include<string>#include<iostream>#include<stdio.h>using namespace std;const int LEN = 7;cons...

2019-07-16 15:30:55 399

原创 LeetCode题目:二叉搜索树中的众数

二叉搜索树中的众数给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树例如:给定 BST [1,null,2,2], 1 \ 2 / 2 返回[2]....

2019-07-08 17:47:50 599

原创 LeetCode题目:加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。class...

2019-07-08 17:45:18 205

原创 LeetCode题目:对称二叉树

对称二叉树判定给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3实现思路:可以将整棵树分为左子树和...

2019-07-08 17:41:23 173

原创 二叉树递归和非递归遍历

二叉树递归和非递归遍历源码:#include<queue>#include<stack>#include<vector>#include<iostream>using namespace std;//假设空节点的值为-1//const int arrrlens = 18;//char arr[arrrlens] = { 'A', ...

2019-07-08 14:58:37 565 1

原创 LeetCode题目:二叉树的后序遍历

二叉树的后序遍历给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]后序遍历比较复杂,但有种非常简单的方法: 把前序遍历反转 如前序: root->left->right 修改前序: root->right->left 反转前序得到...

2019-07-08 13:57:56 655

原创 LeetCode题目: 二叉树的前序遍历

二叉树的前序遍历给定一个二叉树,返回它的 前序 遍历。示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]class Solution {public: vector<int> preorderTraversal(TreeNode* root) { vector<in...

2019-07-08 13:42:54 1150

原创 LeetCode题目: 二叉树的中序遍历

二叉树的中序遍历给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]class Solution {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> ...

2019-07-08 13:36:18 487

原创 LeetCode题目:二叉树的层次遍历

二叉树的层次遍历给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如: 给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回其自底向上的层次遍历为: [ [15,7], [9,20], [3] ]。class Solution {public: ...

2019-07-07 20:35:26 635

原创 LeetCode题目:从二叉搜索树到更大和树

从二叉搜索树到更大和树给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左右子树也必须是二叉搜索树。示例:输入:[4,1,6,0,2,5,7,null,null,null,3,nu...

2019-07-06 19:27:54 448

原创 二叉搜索树

二叉搜索树C++实现#include<queue>#include<iostream>using namespace std;const int arrrlens = 8;int arr[arrrlens] = { 10, 5, 4, 9, 11, 20, 8, 15 };/*二叉搜索树满足:一个节点的左节点值小于这个节点的,右节点值大于这个节点*/clas...

2019-07-06 14:59:34 144

原创 双链表创建、删除、添加节点

双链表创建、删除、添加节点#include<queue>#include<iostream>using namespace std;// 有序链表const int arrrlens = 9;int arr[arrrlens] = { 0, 1, 2, 3, 5, 6, 7, 8, 9 };class Node {public: Node(int el...

2019-07-05 15:04:46 432

原创 LeetCode题目:用队列实现栈

用两个队列实现栈首先用两个队列模拟栈,两个队列是输入队列InputQueue和输出队列OutputQueue。-push:直接将输入的数据压入InputQueue.-pop:假设InputQueue有N个数据,将N-1个数据压入OutputQueue,将InputQueue中的最后一个数据弹出,并将InputQueue执行pop操作,清空队列,执行pop操作。执行完成之后将OutputQu...

2019-07-05 09:06:22 624

原创 LeetCode题目:用栈实现队列

LeetCode题目:用栈实现队列具体原理:首先用两个栈模拟队列,分别为输入栈InputStack和输出栈OutputStack。-push:InputStack栈添加数据-pop:把InputStack栈的数据拷贝给OutputStack栈。然后对OutputStack栈 执行pop 操作。完成之后将数据重新拷贝给InputStack,OutputStack清空-top:同pop理,但...

2019-07-04 17:25:03 432

原创 LeetCode题目:删除字符串中的所有相邻重复项

删除字符串中的所有相邻重复项给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:“abbaca” 输出:“ca” 解释: 例如,在 “abbaca” 中,我们可以删除 “bb”由于两字母相邻且相同,这是此时唯一可以执行删除操作的重...

2019-07-04 09:43:59 946

Java许巍纪念版时钟程序

Java版时钟程序,带日历和时间。背景图可以根据自己喜好更换。

2016-06-19

httpclient-4.1.4-javadoc

httpclient-4.1.4-javadoc

2016-05-31

空空如也

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

TA关注的人

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