- 博客(33)
- 收藏
- 关注
原创 leetcode28. 实现 strStr()
class Solution {public: int strStr(string haystack, string needle) { int n = haystack.size(),m = needle.size(); for(int i = 0;i < n - m + 1;i++) { int j = 0; ...
2020-02-12 21:07:59 105
原创 leetcode345.反转字符串中的元音字母
class Solution {public: string reverseVowels(string s) { map<char,bool> mymap; mymap['a'] = true; mymap['e'] = true; mymap['i'] = true; mymap['o'] = true;...
2020-02-12 20:14:02 108
原创 leetcode344. 反转字符串
class Solution {public: void reverseString(vector<char>& s) { int len = s.length(); for(int i = 0;i < len/2;i++){ swap(s[i],s[len-i]); } }};
2020-02-12 19:03:58 96
原创 leetcode20.有效的括号
class Solution{ public: bool isValid(string s){ if(s.length()%2!=0) return false;//一但是奇数说明不是有效的括号 map<char,char> wordbook;//建立哈希表 wordbook.insert(map<char,char>::value_type(')...
2020-02-12 18:23:58 92
原创 leetcode14. 最长公共前缀
class Solution {public: string longestCommonPrefix(vector<string>& strs) { if(strs.empty()) return ""; string res = strs[0]; for(int i = 1;i < strs.s...
2020-02-12 17:52:09 69
原创 leetcode165.比较版本号
int compareVersion(string version1,string version2){ char c; int v1,v2; istringstream its1(version1); istringstream its2(version2); while(bool(its1>>v1) + bool(its2>>v2)) { if(v1...
2020-02-11 20:15:57 86
原创 leetcode_49. 字母异位词分组
#include <iostream>#include <vector>#include <string>#include <unordered_map>using namespace std;class Solution { public: vector<vector<string>> groupAnagra...
2020-02-11 14:31:09 115
原创 leetcode38_外观数列
class Solution { public: string fun(string s) { string result; int index = 0; while(index < s.length()) { int count = 1; while(s[index] == s[index+1]) { count++; ind...
2020-02-11 13:32:59 162
原创 plugin红线
-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME-Dmaven.wagon.http.ssl.insecure=true-Dmaven.wagon.http.ssl.allowall=true-Dmaven.wagon.http.ssl.ignore.validity.dates=true
2020-01-30 11:16:31 240
原创 IO流
字符串输入流(istringstream)用于字符串读取数据在构造函数中设置要读取的字符串功能支持ifstream类的除open、close外的所有操作典型应用将字符串转换为数值#include <iostream>#include <sstream>using namespace std;template <class T>inl...
2020-01-28 20:20:46 93
原创 C++多态
初识虚函数用virtual关键字说明的函数虚函数是实现运行时多态的基础C++中虚函数是动态绑定的函数虚函数必须是非静态的成员函数,虚函数经过派生之后,就可以实现运行过程中的多态。一般成员函数可以是虚函数构造函数不能是虚函数析构函数可以是虚函数一般虚构函数成员虚函数的声明virtual函数类型 函数名(形参表)虚函数声明只能出现在类定义中的函数原型声明中,而不能在成员函数...
2020-01-23 13:59:19 110
原创 C++笔试(一)
下面描述正确的是int *p1 = new int[10]; int *p2 = new int[10]();答案:p1申请的空间里的值是随机值,p2申请的空间里的值已经初始化解析:1、new当个对象new在自由空间分配内存,但其无法为其分配的对象命名,因次是无名的,分配之后返回一个指向该对象的指针。1int *pi = new int; // pi指向一个动态分配的,未初...
2020-01-21 19:34:26 507
原创 C++Primer第2章
引用引用即别名,并非对象,它只是一个已经存在的对象所起的另外一个名字。引用赋值,实际上是把值赋给了引用绑定的对象,获取引用的值,实际上是获取了与引用绑定的对象的值。引用本身不是一个对象,所以不能定义引用的引用。引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起。指针指针定义时,无需赋初值。因为引用不是对象,没有实际地址,所以不能定义指向引用的指针。所有只针的...
2020-01-19 13:42:26 87
原创 leetcode.4.寻找两个数组的中位数
class Solution { public double findMedianSortedArrays(int[] nums1,int[] nums2) { int n = nums1.length; int m = nums2.length; int left = (n + m + 1) / 2; int right = (n + m + 2) / 2; //将...
2020-01-18 21:17:48 71
原创 队列与双端队列
Java 6中引入了Deque接口,ArrayDeque和LinkedList类实现了这个接口。这两个类都可以提供双端队列,其大小可以根据需要扩展。java.util.Queue<E>boolean add(E element)boolean offer(E element)如果队列没有满,将给定的元素添加到这个队列的队尾并返回true。如果队列已满,第一个方法将抛出一个Il...
2020-01-16 15:29:36 465
原创 Java集合(五)树集TreeSet
java.util.TreeSet<E>TreeSet()TreeSet(comparator<? super E> comparator)构造一个空树集TreeSet(Collection<? extends E> elements)TreeSet(SortedSet<E> s)构造一个树集,并增加一个集合或有序集合中的所有元素(对于...
2020-01-16 14:45:19 248
原创 Java集合(四)散列集HashSet
java.util.HashSetHashSet()构造一个空散列集。HashSet(Collection<? extends E> elements)构造一个散列集,并将集合中的所有元素添加到这个散列集中。HashSet(int initialCapacity)构造一个空的具有指定容量(桶数)的散列集。HashSet(int initialCapacity,float...
2020-01-16 14:23:43 298
原创 Java集合总结(二)List
java.util.ListListIterator<E> listIterator()返回一个列表迭代器,用来访问列表中的元素。ListIterator listIterator(int index)返回一个列表迭代器,用来访问列表中的元素,第一次调用这个迭代器的next会返回给定索引的元素。void add(int i,E element)在给定位置添加一个元素。v...
2020-01-16 13:05:52 64
原创 Java集合总结(一) Arraylist
java.util.Arraylist<E>ArrayList<E>(int initialCapacity)用指定容量构造一个空数组列表boolean add(E obj)在数组列表的末尾追加一个元素。永远返回true。int size()返回当前存储在数组列表中的元素个数。(当然,这个值永远不会大于数组列表的容量。)void ensureCapacity...
2020-01-16 12:49:07 60
原创 leeetcode.3.无重复字符的最长子串
class Solution{ public: int lengthOfLongestSubstring(string s){ vector<int> m(256,-1); int left=-1; int res=0; int len=s.size(); for(int i = 0;i < len;i++) { left=max...
2020-01-13 15:07:10 94
原创 归并排序
#include <iostream>using namespace std;void Merge(int A[],int low,int mid,int high)//完整的合并程序 { int *B = new int[high-low+1];//申请一个辅助数组 int i = low,j = mid+1,k = 0; while(i <= mid &&...
2020-01-11 21:10:43 71
原创 拓扑排序
#include<iostream>#include<cstring>#include<stack>using namespace std;const int MaxVnum=100;//顶点数最大值int indegree[MaxVnum];//入度数组typedef string VexType;//顶点的数据类型为字符型typedef st...
2020-01-06 13:48:05 137
原创 hdu 1166线段树
#include<cstdio>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1const int maxn=55555;int sum[maxn<<2];void PushUP(int rt)//更新和值 { sum[rt]=sum[rt<<1]+sum[rt<&...
2020-01-03 20:21:50 63
原创 数据结构的题目
高级数据结构线段树HDU 1166 敌兵布阵HDU 4902 Nice boatPOJ 2777 Count ColorPOJ 3468 A Simple Problem with Integers
2020-01-03 10:15:05 114
原创 区间更新,线段树
###区间更新对[l,r]进行区间更新1)如果结点的区间被查询区间[l,r]覆盖,仅对该结点进行更新,并做懒标记,表示该结点被更新过,对该结点的子结点不再进行更新;2)判断在左子树查询,右子树查询。查询过程中,若当前节点带有懒标记,懒标记下传给子结点(当前结点懒标记清除,子结点更新并做懒标记),继续查询;3)更新最值#include<iostream>#include<...
2020-01-03 09:43:02 109
原创 单点更新,区间查询线段树
#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int maxn=100005;const int inf=0x3f3f3f3f;int n,a[maxn];struct node//结点{ int l,r,mx,lz;//l,r...
2020-01-02 15:12:32 99
原创 c语言基础
#include 包含头文件#define 宏 替换,不进行语法检查,宏名一般大写#define 宏名 宏体 加括号#define ABC (5+3)#define ABC(x) ( 5+(x))#ifdef 宏#ifdef #else #endif预定义宏_FUNCTION_ :函数名_LINE_ :行号_FILE_ :文件名#include <cstdio&g...
2019-12-31 19:53:52 72
原创 leetcode733图像渲染
class Solution{ public: vector<vector<int>> floodFill(vector<vector<int> >& image,int sr,int sc,int newColor){ if(image.empty() || image[0].empty()) return image;...
2019-12-31 13:30:56 138
原创 leetcode279完全平方数
class Solution{ public: int numSquares(int n){ queue<int> q; vector<int> dist(n + 1,INT_MAX); q.push(0); dist[0] = 0; while(q.size()) { int t = q.front(); q....
2019-12-31 12:25:43 106
原创 leetcode腾讯精选,两数相加
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> ...
2019-12-27 19:11:09 76
原创 二维树状数组
#incude <iostream>#include <cstring>using namespace std;const int maxn = 10000;int n,a[maxn][maxn],c[maxn][maxn];//二维树状数组int lowbit(int i)//区间长度 { return (-i)&i;}void add(in...
2019-12-24 22:29:40 69
原创 树状数组
#include <iostream>#include <cstring>using namespace std;const int maxn = 10000;int n,a[maxn],c[maxn],s[maxn];int lowbit(int i) //c[i]的区间长度 { return (-i)&i;}void add(int i...
2019-12-24 22:08:33 65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人