自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 手写string类

#include <iostream>#include <cstdio>#include <cstring>using namespace std;class string_hui{private: char *str; int len;public: string_hui(); string_hui(cons...

2019-04-26 14:26:51 248

原创 剑指offer-求a^n

法一 递归法需要考虑base为0的情况,以及exponent为负数的情况。a^n=a*a^(n/2)*a^(n/2) 当n为奇数时a^n=a^(n/2)*a^(n/2) 当n为偶数时class Solution {public: double Power(double base, int exponent) { if(base==...

2019-04-25 22:05:15 120

原创 leetcode-k个元素一组反转链表/股票买卖问题/接雨水

前奏:反转链表搞3个指针即可,分别指向当前处理的节点,当前处理节点的前一个节点,当前处理节点的下一个节点。下一节点在进入循环之前已经设置了,不是空的。class Solution {public: ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL) return NULL;...

2019-04-25 09:42:45 396

原创 求一个数组的最大公约数和最小公倍数

求一个数组的最大公约数可以先选择前2个数求出他们的最大公约数,然后遍历数组,依次把最大公约数和数组元素求最大公约数,当局部最大公约数为1时,返回1即可。#include <cstdio>#include <vector>#include <iostream>#include <string>#include <sstream&...

2019-04-24 22:52:06 4379

原创 scanf与正则表达式

链接1链接2实例1 提取出ip地址#include <cstdio>#include <iostream>using namespace std;int main(){ const char *url= "<sip:tom@172.18.1.133>"; char ip[20]={0}; sscanf(url,"...

2019-04-24 09:08:16 534

原创 剑指offer-序列化二叉树与反序列化二叉树

实现两个函数,分别用于序列化和反序列化二叉树。序列化二叉树,给定一棵二叉树,以某种方式遍历它,空孩子节点用'#'表示,数字之间用逗号分割开来。比如序列化的结果是:1,2,4,###3,5,##6,##序列化过程,可以考虑二叉树的前序遍历方法进行序列化。 //将int型数据转换为str string to_string(int val) { ...

2019-04-17 10:10:35 129

原创 剑指offer-剪绳子问题

给你一根长度为n的绳子,把绳子剪成若干段(每段长为整数),使得这些绳子的长度之积最大,求可能的最大乘积是多少?法一 动态规划时间复杂度:O(n^2),空间复杂度O(n)(1)当绳子长度小于2,无法剪。(2)当绳子长度为2,剪为1*1,结果是1(3)当绳子长度为3,剪为2*1,结果为2(4)当绳子长度大于等于4时,使用动态规划,用a[i]来表示把长度为i的绳子剪开之后乘积的最...

2019-04-15 18:46:37 220

原创 STL中的sort函数和algorithm中的sort函数

笔试阿里的时候搞到我了,一直想着对list用之前的sort排序,结果一直报错。。。(1)vector的迭代器是随机访问迭代器,支持泛型算法的sort及其算法。可以使用STL中的sort。//vector排序#include <iostream>#include <string>#include <vector>#include <algo...

2019-04-12 22:10:32 274

原创 位图法的代码

一 简介所谓bitmap就是用一个bit位来标记某个元素对应的value值,而key就是该元素。由于采用了bit为单位来存储数据,可大大节省空间。二 Map映射bitmap中一个比特代表一个数字,1个int有32个bit,那N个数据需要N/32个int空间,所以需要申请的内存空间大小为int a[1+N/32],其中a[0]在内存中占32,可以对应十进制数为0-31,以此类推:a[1]...

2019-04-07 19:23:54 402

原创 剑指offer:替换空格

题目:实现一个函数,把字符串中的每个空格替换为"%20"。例如。输入“we are happy.”,输出"we%20are%20happy."。最直接的思路是把每个空格替换之前,都把空格之后的所有字符整体向后移动2个位置,在空格处填充%20即可。但每次都要重新往后整体移动,算法复杂度太高。可以先遍历得到空格的个数,然后在字符串的末尾补上相应的空格数。然后用2个指针p1,p2分别记录原来字符...

2019-04-07 18:51:20 114

原创 String类以及删除字符串中的子串

String类#include <string>using namespace std;string可以通过下标访问也可以通过迭代器访问。string可以进行拼接,用+即可,也可以加上一个字符。string可以进行比较,== != < > <= >=,按照字典序进行。string通过length()或size()来返回长度。...

2019-04-06 22:22:44 3921 2

原创 回溯法详解

1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 许多复杂的...

2019-04-04 11:41:18 498

原创 C++输入输出问题

对于不确定输出个数的数组类型数据vector<int> res;for(int i=0;i<res.size();i++){ if(i!=res.size()-1) cout<<res[i]<<endl; else cout<<res[i];}当输入为一行不确定数目的整数,整数...

2019-04-03 17:06:16 299

空空如也

空空如也

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

TA关注的人

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