摘要:
串的定义 串是由零个或多个字符组成的有限序列,又叫字符串 串的比较 给定两个串:s="a1a2a3.....an",t="b1b2b3.....bm",当满足以上条件之一时,s<t 1.n<m,且ai=bi(i=1,2...n) 列如当s="hap",t="happy",就有s<t。因为t比s多出了 阅读全文
摘要:
题目链接 解题思路: 用map存入窗口中26个字母的次数 滑动维护对比即可 写的有点复杂,看了一下题解,用的是vector对比,发现vector的对比的写法还不会,记录一下,简单很多 map写法 class Solution { public: bool checkInclusion(string 阅读全文
摘要:
题目链接 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度 解题思路: 因为是无重复的最长子串,很显然是滑动窗口 用left,right维护窗口的左边界和右边界 用map判断是否存在重复 因为我用下标为1开始,易于维护 所以left=right=1; class Solution 阅读全文
摘要:
1. 什么是vector 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。 2.容器特性 顺序序列 顺序容器中的元素按照严格的线性顺序排序。可以通过 阅读全文
摘要:
题目链接 水题:因为仅有‘a’与‘b’,最多删除两次 第一次删除所有‘a’,第二次删除所有‘b’。 如果字符串s为回文串,一次删完即可,否则删两次 class Solution { public: int removePalindromeSub(string s) { string str=s; r 阅读全文
摘要:
题目链接 解法一: 链表转数组,直接调用随机函数返回即可 class Solution { vector<int> vt; public: Solution(ListNode *head) { while (head) { vt.push_back(head->val); head = head-> 阅读全文
摘要:
简介: 水塘抽样是一系列的随机算法,其目的在于从包含n个项目的集合S中选取k个样本,其中n为一很大或未知的数量,尤其适用于不能把所有n个项目都存放到内存的情况。 问题: 以谷歌为例,有一道关于水塘抽样的例题 我有一个长度为N的链表,N的值非常大,我不清楚N的确切值.我怎样能写一个尽可能高效地算法来返 阅读全文
摘要:
栈:后进先出(LIFO-last in first out):最后插入的元素最先出来。 队列:先进先出(FIFO-first in first out):最先插入的元素最先出来。 顺序栈 顺序栈,即用顺序表实现栈存储结构 //元素elem进栈,a为数组,top值为当前栈的栈顶位置 int push( 阅读全文
摘要:
题目链接 解题思路: 板子题,最基础的二分查找 class Solution { public: int search(vector<int>& nums, int target) { int left=0; int right=nums.size()-1; while(left<=right){ 阅读全文
摘要:
题目链接 解题思路:BFS+链表 水题:基本BFS 用BFS一层一层遍历一遍,把同一层次的数存入同一个链表链表,最后输出结果即可 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *l 阅读全文