自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 523. Continuous Subarray Sum

本题给出一个整数数组,里面的数都是非负整数,另外给出一个整数k,看该数组中是否有连续的子数组和为k或k的倍数。本题有两个需要注意的地方,一是当k为0的情况,二是子数组长度必须大于1.思路为用一个集合unsorderd_set来解决。当k为0时,数组中必须有两个连续的0,unsorderd_set中存放前缀数组和sum.当k不为0时,存放前缀数组和与k的余数,当余

2017-06-27 17:51:16 99

原创 227. Basic Calculator II

本题给出一个字符串,字符串中只有非负整数以及‘+’,‘-’,‘*’,‘/’四种运算符号,要求输出字符串的运算结果。该题有两个难点,一是整数的长度不一样,对于该点用字符串流解决。二是一个整数后的运算符号是‘*’,‘/’时,要先进行乘除运算,因此对于一个新的整数,用变量temp暂时存储。代码如下:int calculate(string s) { istringstre

2017-06-27 13:47:50 105

原创 263. Ugly Number

丑数是那些只能被2,3,5整除的数,1是特殊的丑数。给出一个数,判断是否为丑数。比较简单class Solution {public: bool isUgly(int num) { for (int i=2; i<6 && num; i++){ while (num % i == 0) n

2017-06-05 21:02:28 85

原创 260. Single Number III

题中给出一个容器vector,里面除了两个不同的数,其余所有的数都是成对存在,输出要求为一个容器vector,里面为这两个不同的数字。思路如下,相同的数字按位异或得到0,而不同的数字按位异或得到的数字二进制表示里有1.于是,先把所有的数字异或一次,得到一个数,因为所求的两个数不相同,所以,二进制表示中1所在的位置就是两个数字不同的位数。找到二进制表示右边开始第一个1的位置。

2017-06-05 15:57:16 97

原创 526.Beautiful Arrangement

本题的输入是一个整型数N,定义一个Beautiful Arrangement数列,这个数列由从1到N的N个数组成。对于BA数列中每个数k所在的位置i,都有k%i==0或者i%k==0,输入为BA的数列的排列方式共有多少种。对于这种类型的题,采用一种交换-递归的思想。class Solution {public: int count Arrangement(int

2017-05-18 14:34:03 90

原创 102.Binary Tree Level Order Traversal

这题首先给出树结构。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} *

2017-05-13 15:16:49 110

原创 53,Maximum Subarray

这题给出一个数组,让输出最大的连续子数组的和。数组的长度为N,应用动态规划的思想,依次计算从头至第1,2个元素...直至整个数组共N个数组的最大连续子数组的和。class Solution {public: int maxSubArray(vector& nums) { vectortemp(nums.size(),0); temp

2017-05-13 14:38:09 68

原创 127.Word Ladder

这道算法题,输入是两个word(string类型),begin和end.和一个string的集合wordDict(set),里面有不同的word(string),输出要求为一个从begin变换为end且每次只允许变动一个字母的最短变换长度。所有的word都有相同的长度,都是小写字母,且每次只允许变换一个字母。这道题,因为输入中有集合,考虑用BFS(广度优先搜索)的方法。广度

2017-05-08 15:09:14 113

原创 92.Reverse Linked List II

Reverse a linked list from position m to n. Do it in-place and in one-pass.For example:Given 1->2->3->4->5->NULL, m = 2 and n = 4,return 1->4->3->2->5->NULL.Note:Given m, n satisfy the followi

2017-03-31 16:16:20 89

原创 206.reversed linked list

本题是要逆置一个单链表。我想到了两种方法,第一种是加一个头结点的方法,第二种是不加头结点的方法。加头结点的方法如下class Solution {public: ListNode* reverseList(ListNode* head) { ListNode* new_head = new ListNode(0); new_head -> next = h

2017-03-31 14:20:10 94

原创 数组和指针相关

char *p1 = "hello";char *p2 = "world";char *p3 = "a piece of cake";char *str[] = { p1, p2, p3 };cout << sizeof(*str[0]) << " " << typeid(str[0]).name() << " " << *(str[0] + 1) << endl;//typeid是类型c

2017-03-10 22:51:40 83

转载 关于数组和指针的测试

char*p1 = "hello";    char*p2 = "world";    char*p3 = "a piece of cake";    char*str[] = { p1, p2, p3 };    cout sizeof(*str[0]) " " typeid(str[0]).name() "

2017-03-10 22:50:23 119

空空如也

空空如也

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

TA关注的人

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