自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 26 Remove Duplicates from Sorted Array

使用In-place algorithm 来去重数组输入:数组输出:整数应该是在邓俊辉的数据结构里面讲过去重。 int removeDuplicates(vector<int>& nums) { int len = nums.size(); if(len==0)return 0; int curInd...

2019-03-28 10:18:14 146

原创 25 Reverse Nodes in k-Group

上个题是对链表内任意相邻的两个节点进行反转,这次是对相邻的任意相邻的k个节点进行反转。输入:头节点,k输出:头节点注意事项:只能申请常数额外内存 意思是空间复杂度是O1不能更改链表中的值,只能更改他们互相的连接状态如果空间复杂度不能是Ok,那么时间复杂度就是n*n*n/k话说递归的空间复杂度也是n/k,所以就不能使用递归,而是使用循环。每k个执行一次反转算法,...

2019-03-28 10:15:54 179

原创 24 Swap Nodes in Pairs

给定一个链表,交换相邻的元素顺序12345672143657输入:链表头节点指针输出:链表头节点指针思路:交换的话,就是直接互相交换我的思路就是两遍遍历,第一遍将链表存到vector里面,第二遍进行连接然后就是分治,将一个链表分为偶数个,然后互相连接?a->b->c-> 假如要交换b、c,那么 保存b,c, a-> = b-&g...

2019-03-28 10:13:06 119

原创 23 Merge k Sorted Lists

将k个列表排序汇合输入:链表节点指针的向量输出:链表节点的指针思路:假设有k个链表,每个链表的平均长度为l1.连续merge22l+3l+4l+…+kl = k*k*l/22.直接mergekK*K*l好像也差不多。那就写个2merge试试吧ListNode* mergeKLists(vector<ListNode*>& li...

2019-03-28 10:11:50 112

原创 22 Generate Parentheses

给定数字,然后产生所有括号的嵌套组合输入:n输出:括号的字符串注意事项:括号必须正确闭合和嵌套思路:这种感觉有点像之前那个电话号码。就是遍历产生的那个。但是这个有点不一样就是所有的括号都是相同的,找的是括号的嵌套方式的不同。还要保证括号的正确闭合。加入将括号看成三个节点,就是互相成为子节点。也就是组成树的所有组合方式。之前那个用栈来解决了,这个可不可以呢。用递归呢,要产生n的树...

2019-03-28 10:10:33 192

原创 21 Merge Two Sorted Lists

将两个链表合并成一个输入两个链表节点指针输出,链表节点要求:节点不是新建的,而是原来的两个链表中的节点ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode* head = new ListNode(0); ListNode* currentNode; hea...

2019-03-28 10:08:56 113

原创 20 Valid Parentheses

括号是否正确匹配输入:只含有 { }[ ]( ) 的字符串输出:true false思路:左部分压栈,右部分出栈遍历结束全部出栈且正确返回true否则返回falsebool isValid(string s) { stack<char> charStack; for(char c: s){ sw...

2019-03-28 10:07:10 137

原创 19 Remove Nth Node From End of list

给定链表,删除倒数第n个链表节点输入:链表的头节点,n输出:链表的头节点要求:一次提交通过边界: n = 1 index=size-1 n = size index = 0思路:最简单的方法为,先遍历一遍,求出来总长度,根据总长度求出需要删除的节点位置,然后遍历到位置,进行删除,返回。时间复杂度还是O(size)减小复杂度只能通过不进行第二遍遍历。用...

2019-03-28 10:05:53 93

原创 18 4Sum

不用说了,4数之和最接近target那么,是否是通过3Sum优化成的4Sum即先确定一个,然后转化为3Sum问题。注意事项:结果不包括重复串。返回值:相应的数字对(可以排序输入值:数字的向量,int的target边界确认,第一个数字开始为0,结束为size-4起码快速通过:class Solution {public: vector<vecto...

2019-03-28 10:03:40 96

原创 17 Letter Combinations of a Phone Number

九宫格打字。给出一个输入数字串,输出所有可能地字符串组合然后就跟手机键盘一样对应的字符串。结果可以是任意顺序。思路:按照数学计算,假如有n个数字,每个数字分别对应

2019-03-28 10:01:05 88

原创 16 3sum Closest

输入: nums整数数组输出: 三数之和的整数要求: 和最接近给出的target难度: 中等思路:首先先排一个序把。然后假设先按照3sum的思路,使用三个指针来代表三个数(abc)。对a在数组进行循环,然后bc从两端开始往中间走。b从a开始,c是最右边。令i=a+b+c-target, 如果i>0 那么c往左走, 不然c往左走,如果等于0就输出target。 当i...

2019-03-26 11:38:49 119

原创 15 3Sum && 1 2sum

从给定的n位数组中找到所有的数对,从而使得三个数的合为0输入:n整数数组 输出 数字对的数组,并且数字对各异思路:emm对于每一个数进行循环,然后2sum?3sum的特点和2sum不一样,2sum要求和为一个给定的输入值,但是3sum要求和为固定的0也就是说,其中两者可以当第三者的相反数?2sum循环一遍? 2sum是On。那么3sum就是O

2019-03-26 11:36:14 195

原创 14 Longest Common Prefix

从string array中寻找最长公共前缀。flowey flower -> flowe (flower都不会写了只会写flowey undertale病犯了)所有字母都以小写形式给出。class Solution {public: string longestCommonPrefix(vector<string>& strs) { ...

2019-03-26 11:32:33 116

原创 13 Roman to Integer

罗马数字转换数字,行吧,你开心就好。两个是不是可以形成一个永动机,你转化为我,我再转化为你。。。然后堆栈溢出,电脑爆炸,世界毁灭。按照上题,列出来所有的M、 CM、D、CD、C、XC、L、XL、X、IX、V、IV、Iint romanToInt(string s) { map<string, int> romanHash; rom...

2019-03-26 11:28:58 243

原创 12 Integer to Roman

输入为数字,转换为罗马字符L: 50 C: 100 D: 500 M: 1000数字范围: 1-399940:ⅠL差不多这个感觉。思路:通过求余数获得数字的每一位,然后根据位数转换为罗马数字class Solution { public: string convert(int num, string one, string five, st...

2019-03-26 11:26:34 121

原创 11 Container With Most Water

给定数组,

2019-03-26 11:23:53 93

原创 10 Regular Expression Matching

给定字符s, 给定正则规则p, 返回字符是否匹配规则s: 由小写字母组成p: 由小写字母和 "*"、"."组成.代表一个字母 *代表0个或任意个前面的字符。思考了一下,思路不太清晰,感觉做不出来。节约时间,就直接上网查找:网上的思路之一:动态规划bool isMatch(string s, string p) { int m = s.size(), ...

2019-03-26 11:21:54 124

原创 9 Palindrome Number

palindrome :回文的继回文子串之后又来回文数。题目要求:不转换成string,来判断题目分析:负数非回文,0必回文,所以重点在正数class Solution {public: bool isPalindrome(int x) { if(x < 0) return false; if(x == 0) return tr...

2019-03-26 11:20:00 127

原创 8 atoi

要求,字符串转数字处理过程:读取字符串,从头开始,遇到的第一个非空格字符是否为+/- 或者数字,如果不是,那么返回0如果是符号,则后面有尽可能多的数字,直到读取到非数字。如果最后的数字溢出,则返回最大值特殊情况:空字符串。返回0 int myAtoi(string str) { int integer = 0; ...

2019-03-26 11:17:30 109

原创 7 reverse Integer

输入 32-bit int输出 reverse digit注意事项:只能保存整数reverse之后溢出返回01534236469 revrs 之后溢出 int reverse(int x) { ...

2019-03-26 11:16:05 165

空空如也

空空如也

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

TA关注的人

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