自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 动态规划-最长不含重复字符的子字符串

// 面试题48:最长不含重复字符的子字符串// 题目:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子// 字符串的长度。假设字符串中只包含从'a'到'z'的字符。#include <string>#include <iostream>动态规划int longestSubstringWithoutDuplicati...

2019-09-09 17:29:00 138

转载 容器

给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况...

2019-09-09 16:36:00 94

转载 链表中间节点

. 题目给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val =...

2019-09-09 12:10:00 148

转载 喝咖啡

#include <iostream>#include <vector>using namespace std;int find(int index, int k){ int cur_res = 0; while ((k+1)*cur_res < index) cur...

2019-09-08 20:31:00 136

转载 判别二叉树层序遍历递增

#include<bits/stdc++.h> usingnamespacestd; structnode { intval; intleft; intright; }; intmain() { intn; cin>>n; while(n--) { ...

2019-09-08 20:13:00 151

转载 构建乘积数组

剑指的思路:B[i]的值可以看作下图的矩阵中每行的乘积。下三角用连乘可以很容求得,上三角,从下向上也是连乘。因此我们的思路就很清晰了,先算下三角中的连乘,即我们先算出B[i]中的一部分,然后倒过来按上三角中的分布规律,把另一部分也乘进去。先乘以前面再乘以后面class Solution {public: ...

2019-09-01 17:02:00 66

转载 字符串中包含最多的字符

#include<string>#include<iostream>#include<sstream>using namespace std;int main(){ string in; cin >> in; int len = in.length(); int temp[26] = { 0 ...

2019-08-31 23:39:00 227

转载 循环左移操作 (左旋转字符串)

想想反转字符串哦 自己画个图 很简单class Solution {public: string LeftRotateString(string str, int n) { if(str.empty()||n>str.size()) return str; //直接返回 int size=...

2019-08-31 11:42:00 119

转载 翻转字符串

思路 :先把整个句子翻转,然后再翻转每一个单词又把string里stl用法重新复习了一遍,里面有些内容比如 reverse sort 会了是真方便class Solution { //本题这个是利用下标访问的 没有用什么迭代器 挺好啊public: string ReverseSentence(string str) { reverse...

2019-08-31 11:23:00 55

转载 和为s的连续正数序列

class Solution {public:vector<vector<int> > FindContinuousSequence(int sum) { vector<vector<int> > result; int small=1; int big=2; int smallMax...

2019-08-31 09:16:00 46

转载 和为s的数字

输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。1.自己用迭代器两个指针做的1.left开头,right指向结尾 2.如果和小于sum,说明太小了,left右移寻找更大的数 3.如果和大于sum,说明太大了,right左移寻找更小的数 4.和相等,把left和right的数返回vector...

2019-08-29 09:57:00 79

转载 两个链表的第一个公共节点

因为两个链表长度不一致 又长又短 而后面部分是公共的,所以求出长链表长度和短链表长度让长链表把他俩之间的差距先走完,然后两个链表并行的走,直到碰到第一个相同的节点/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x)...

2019-08-28 22:29:00 48

转载 某数字在排序数组中出现的次数

反正不想用递归但是一说是排序的 最好又用二分查找,这样比较快;方法一 :找出重复数字出现第一次的坐标。以及出现最后一次的坐标;链接:https://www.nowcoder.com/questionTerminal/70610bf967994b22bb1c26f9ae901fa2?f=discussion来源:牛客网class Solution {pu...

2019-08-28 21:25:00 42

转载 二叉搜索树的第k个节点

复制代码// 面试题54:二叉搜索树的第k个结点// 题目:给定一棵二叉搜索树,请找出其中的第k大的结点。#include <iostream>#include "BinaryTree.h"const BinaryTreeNode* KthNodeCore(const BinaryTreeNode* pRoot, unsigned int&am...

2019-08-28 17:01:00 63

转载 二叉树的深度 | 判断是否为平衡二叉树

判断二叉树深度 int TreeDepth(TreeNode* pRoot) { if (pRoot==NULL) return 0; int left= TreeDepth(pRoot->left); int right= TreeDepth(pRoot->right); ...

2019-08-28 15:14:00 91

转载 递归的理解

事实上,我们并不是每个函数都需要跟进去看执行结果的,比如我们在自己的函数中调用printf函数时,并没有钻进去看它是怎么打印的,因为我们相信它能完成打印工作。如果你相信你正在写的递归函数是正确的,并调用它,然后在此基础上写完这个递归函数,那么它就会是正确的,从而值得你相信它正确。以上两句话就是要明白一个道理:不要把自己放进递归函数中,放进一些简单的递归如阶乘,可能你还能理解,但是...

2019-08-28 14:08:00 88

转载 数组中数字出现的次数

1 我想的是用map key放值,value放次数。但是好像不太好class Solution {public: void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) { if(data.empty()||num1==NULL||num2==NULL)...

2019-08-28 10:33:00 57

转载 Vector使用

https://www.cnblogs.com/linuxAndMcu/p/10259630.html一、vector介绍:vector(向量): 是一种序列式容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组(动态数组),它的随机访问快,在...

2019-08-27 16:43:00 95

转载 第一次只出现1次的字符

1. 其实就是map (key,value)class Solution {public: int FirstNotRepeatingChar(string str) { map<char, int> mp; for(int i = 0; i < str.size(); ++i) mp...

2019-08-23 23:16:00 64

转载 剑指offer49 丑数

1.正常就是数一个个遍历 然后看哪个是丑数?// 面试题49:丑数// 题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。求按从小到// 大的顺序的第1500个丑数。例如6、8都是丑数,但14不是,因为它包含因子7。// 习惯上我们把1当做第一个丑数。#include <iostream>// ============...

2019-08-23 22:03:00 54

转载 字符串转化成整数

1 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。输入 +2147483647 1a33输出 2147483647 0class Solutio...

2019-08-23 18:28:00 79

转载 剑指offer-46 把数字翻译成字符串

1 0-25 a-z// 面试题46:把数字翻译成字符串// 题目:给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成"a",1翻// 译成"b",……,11翻译成"l",……,25翻译成"z"。一个数字可能有多个翻译。例// 如12258有5种不同的翻译,它们分别是"bccfi"、"bwfi"、"bczi"、"mcfi"和// "mzi"。请编程实...

2019-08-23 18:21:00 56

转载 把数组排成最小的数

1用全排列 再遍历去比较哪个小这个方法实在是效率太低!!!2 用sort和字符串结合 sort中的比较函数compare要声明为静态成员函数或全局函数,不能作为普通成员函数,否则会报错。因为:非静态成员函数是依赖于具体对象的,而std::sort这类函数是全局的,因此无法再sort中调用非静态成员函数。静态成员函数或者全局函数是不依赖于具体对象的,可以独立访问...

2019-08-23 17:43:00 55

转载 《剑指offer》第四十四题(数字序列中某一位的数字)

// 面试题44:数字序列中某一位的数字// 题目:数字以0123456789101112131415…的格式序列化到一个字符序列中。在这// 个序列中,第5位(从0开始计数)是5,第13位是1,第19位是4,等等。请写一// 个函数求任意位对应的数字。#include <iostream>#include <algorithm>...

2019-08-23 17:24:00 54

转载 1到n整数中1出现的次数

1.普通方法 :将1-n遍历一遍 ,每一个数中1 的个数用取余方法求出 最后累加n有logn位 遍历一遍是n次 一乘即是 算法复杂度 O(nlog(n))class Solution {public: int NumberOf1Between1AndN_Solution(int n)//数1的个数 { int co...

2019-08-23 16:50:00 54

转载 连续子数组的最大和

1 分析数组规律即可class Solution {public: bool g_invalidinput=false;//全局变量 给调用者看是不是 有错误 int FindGreatestSumOfSubArray(vector<int> array) { if(array.empty()) { g_invalidinput=...

2019-08-23 15:56:00 53

转载 快排中 partition 的两种写法!

1 void swap(int &A,int &B) { int temp; temp=A; A=B; B=temp; } int partition(QVector<int> &numbers,int low,int high) { int pivotkey=numbers[lo...

2019-08-23 13:06:00 230

转载 数组中 最小K个数

1 基于快排中 partition函数的思想一定要注意那里是对容器的地址 或者引用操作 否则传不出来!!!public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { vector<int> result; ...

2019-08-23 13:03:00 62

转载 数组中长度超过一半的数字

1.思路一 一开始 老不对老不对,我以为是 把vevtor 换成数组就对了 我以为是这个问题呢 其实不是 原因竟然是 end=index-1; 这里要拿出来才行 不然就是不对 注意吧class Solution {public: int MoreThanHalfNum_Solution(vector<int> number...

2019-08-23 12:25:00 113

转载 全排列问题(字符串)

输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba链接:https://www.nowcoder.com/questionTerminal/fe6b651b66ae47d7acce78ffdd9a96c7?toCommentId=2846264来源:牛客网思路...

2019-08-22 15:15:00 41

转载 二叉树 总结

一般啊。二叉树遍历都是 返回值 void ,因此有必要提出来单独去递归;有时候比如char* 不好用 想用string 时候可以传进函数去,用完再调回来;转载于:https://www.cnblogs.com/cgy1012/p/11393586.html...

2019-08-22 12:00:00 59

转载 序列二叉树和反序列 (不是自己做的)

为什么使用二级指针 ???可以用一级指针,但是需要用一级指针的引用才行,一级指针的引用和二级指针一回事。比如说你有个数组指针int*num,这个num现在指向数组第3个元素,你在函数调用的时候,如果在函数参数传入num的话,你在函数调用里面对num进行++操作,只会影响到这个函数里面,这个函数外面,num的指向的值还是第三个元素。我们想要函数调用结束后,在函数里面的num++...

2019-08-22 11:56:00 86

转载 二叉树的路径

输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)1 其实根本没检查 大的靠前class Solution {public: vector<vector<int> > res; ...

2019-08-21 22:45:00 270

转载 二叉搜索树的后续遍历

1.和课本思路保持一致,先找到了根节点 因为是二叉搜索树 所以比根节点值小的是左子树,比根节点大的是右子树 判断完一轮后 将左子树放进去再进行判断! 右子树进行判断 ;当然考虑什么时候有左右子树;class Solution {public: bool VerifySquenceOfBST(vector<int> sequence) {...

2019-08-21 21:02:00 92

转载 二叉树层序遍历

1. 使用到队列 先进先出 看书为准C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的。C++队列queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。C++队列Queue类成员函数如下:back()返回最后一个元素empty()...

2019-08-21 18:21:00 94

转载 栈的压入 弹出序列

1就是说可以不是连续压的 压几个弹出几个 顺序不定!!【思路】借用一个辅助的栈,遍历压栈顺序,先讲第一个放入栈中,这里是1,然后判断栈顶元素是不是出栈顺序的第一个元素,这里是4,很显然1≠4,所以我们继续压栈,直到相等以后开始出栈,出栈一个元素,则将出栈顺序向后移动一位,直到不相等,这样循环等压栈顺序遍历完成,如果辅助栈还不为空,说明弹出序列不是该栈的弹出顺序。举例:...

2019-08-21 15:42:00 67

转载 包含 min的栈

1.class Solution {public: stack<int> m_data; stack<int> m_min; void push(int value) { m_data.push(value); if(m_min.empty()||value&...

2019-08-21 14:57:00 57

转载 顺时针打印矩阵

1.课本简单很详细! 容器用起来和数组差不多class Solution {public: //这个是要根据容器返回值来判断的!! vector<int> printMatrix(vector<vector<int> > matrix) { //是二维的容器 允许下标 //判断条件 ...

2019-08-21 11:56:00 64

转载 镜像二叉树

1/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solutio...

2019-08-21 00:01:00 80

转载 对称二叉树

1./*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class S...

2019-08-20 23:58:00 83

空空如也

空空如也

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

TA关注的人

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