03 2020 档案

摘要:给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X >= 2 时返回 true。 示例 1: 输入:[1,2,3,4,4,3,2,1]输出:true解释:可行 阅读全文
posted @ 2020-03-27 16:12 一二三的三二一 阅读(209) 评论(0) 推荐(0)
摘要:所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长的序列(子串)。 示例: 输入:s = "AAAAACCCCC 阅读全文
posted @ 2020-03-26 09:59 一二三的三二一 阅读(184) 评论(0) 推荐(0)
摘要:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 阅读全文
posted @ 2020-03-26 08:54 一二三的三二一 阅读(131) 评论(0) 推荐(0)
摘要:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]] 思路: 法 阅读全文
posted @ 2020-03-25 20:09 一二三的三二一 阅读(120) 评论(0) 推荐(0)
摘要:给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。 示例1: 输入: pattern = "abba", str = "dog cat 阅读全文
posted @ 2020-03-25 16:51 一二三的三二一 阅读(205) 评论(0) 推荐(0)
摘要:给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。 注意:假设字符串的长度不会超过 1010。 示例 1: 输入:"abccccdd" 输出:7 解释:我们可以构造的最长的回文串是"dccaccd" 阅读全文
posted @ 2020-03-25 15:04 一二三的三二一 阅读(115) 评论(0) 推荐(0)
摘要:5.1 双向循环链表 5.2 赋值、构造 5.3 删除方面,有个remove操作,是删除所有与elem匹配的元素 5.4 反转 reverse 质变算法 5.5 排序 sort 5.5.1 默认从小到大,若想改变规则,写回调函数 5.5.2 对于自定义类型,必须要指定排序规则 5.6 案例:给葫芦娃 阅读全文
posted @ 2020-03-24 10:58 一二三的三二一 阅读(103) 评论(0) 推荐(0)
摘要:4.1 与数组类似,但是个动态分配内存(并不是原有空间下动态,而是开辟新空间,拷贝以及释放原空间); 4.2 构造、赋值 4.3 交换 swap 4.4 size 当前元素多少 4.5 capacity 容器容量大小 4.6 empty 容器是否为空 4.7 resize 重新制定容器长度, 4.7 阅读全文
posted @ 2020-03-22 11:05 一二三的三二一 阅读(127) 评论(0) 推荐(0)
摘要:3.1 构造、赋值 3.2 字符存取 [ ]和at 区别,前者越界直接挂掉,后者抛出out_of_range异常 3.3 拼接、查找和替换 += append 拼接; find 查找到返回位置 查不到返回-1 rfind 从右往左查; replace 替换。 3.4 比较 compare 相等的话等 阅读全文
posted @ 2020-03-21 13:04 一二三的三二一 阅读(102) 评论(0) 推荐(0)
摘要:2.1 vector<类型> v 声明了一个容器; 2.2 尾插 v.push_back(); 2.3 起始迭代器 v.begin() 指向容器中第一个元素; 2.4 结束迭代器 v.end() 指向容器中最后一个元素的下一个位置; 2.5 三种方式去遍历vector迭代器:其中注意使用 for_e 阅读全文
posted @ 2020-03-21 11:47 一二三的三二一 阅读(89) 评论(0) 推荐(0)
摘要:1.六大组件: 1.1:容器、算法、迭代器、仿函数、适配器、空间配置器。 1.2:容器包括序列式容器以及关联式容器(有个key起到索引的作用)。 1.3:算法(algorithm)分为质变算法及非质变算法。 1.4:迭代器(iterator)主要是用双向迭代器以及随机访问。 1.5:STL的优点:1 阅读全文
posted @ 2020-03-21 11:14 一二三的三二一 阅读(103) 评论(0) 推荐(0)
摘要:拉链法:把所有的同义词存储在一个线性链表中,这个线性链表由其散列地址唯一标识。适用于经常进行插入和删除操作的情况。 代码及注释: 1 #include"iostream" 2 #include"vector" 3 #include<time.h> 4 using namespace std; 5 6 阅读全文
posted @ 2020-03-20 18:00 一二三的三二一 阅读(985) 评论(0) 推荐(1)
摘要:先贴上代码,再分析思路: 1 int main() 2 { 3 int random[100] = { 0 }; 4 srand(time(NULL)); 5 for (int i = 0; i < 100; i++) { 6 random[i] = rand() % 1000; 7 } 8 9 i 阅读全文
posted @ 2020-03-20 16:49 一二三的三二一 阅读(301) 评论(0) 推荐(0)
摘要:1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 //字符哈希 6 int main() { 7 int char_hash[128] = { 0 }; //用字符的ASC2码来计数,这串字符,每个元素出现了几次 8 阅读全文
posted @ 2020-03-20 16:29 一二三的三二一 阅读(166) 评论(0) 推荐(0)
摘要:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode", wordDict = ["leet", 阅读全文
posted @ 2020-03-20 12:10 一二三的三二一 阅读(156) 评论(0) 推荐(0)
摘要:给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head = 1->4->3->2->5->2, x = 3 输出: 1->2->2->4->3->5思路:(1)新建两个ListNo 阅读全文
posted @ 2020-03-20 11:14 一二三的三二一 阅读(122) 评论(0) 推荐(0)
摘要:160.相交链表 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出: 阅读全文
posted @ 2020-03-20 10:01 一二三的三二一 阅读(104) 评论(0) 推荐(0)
摘要:1 #include"iostream" 2 using namespace std; 3 struct ListNode { 4 int val; 5 ListNode* next; 6 ListNode(int x) : val(x), next(NULL) {} 7 }; 8 9 class 阅读全文
posted @ 2020-03-19 12:02 一二三的三二一 阅读(149) 评论(0) 推荐(0)