摘要: 题意: 给一个含有n个整数的数组,数组中的元素应该是0~n。现在缺了其中某1个,找出缺少的那个整数?思路: 0~n的总和是可以直接计算的,而缺少的那个就是sum减去数组的和。1 int missingNumber(vector& nums)2 {3 int sum=0;4 for... 阅读全文
posted @ 2015-10-28 22:00 xcw0754 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出两个字符串s和t,判断串t是否为s打乱后的串。思路: 如果返回的是true,则两个串的长度必定相等,所有字符出现的次数一样。那么可以统计26个字母的次数来解决,复杂度O(n)。也可以排序后逐个比对,复杂度O(nlogn)。第一种方法: 1 class Solution { 2 pub... 阅读全文
posted @ 2015-10-28 21:39 xcw0754 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题意: 给一个数组,其中仅有两个元素是出现1次的,且其他元素均出现2次。求这两个特殊的元素?思路: 跟查找单个特殊的那道题是差不多的,只是这次出现了两个特殊的。将数组扫一遍求全部元素的异或和 x,结果也就是这两个特殊的元素的异或和了。现在必须找到两个当中的一个,才能恢复出另外一个。注意到x的二进... 阅读全文
posted @ 2015-10-28 21:13 xcw0754 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题意: 股票买卖第2题。给出每天的股票价格,每次最多买一股,可以多次操作,但是每次在买之前必须保证身上无股票。问最大的利润?思路: 每天的股票价格可以看成是一条曲线,能卖掉就卖掉,那么肯定是在上升的时候就可以卖掉,但是在不卖的时候要保证自己身上的那只股票的价格是最低价买进的。 1 class S... 阅读全文
posted @ 2015-10-28 20:21 xcw0754 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一个整型数组nums,要求将其中所有的0移动到末尾,并维护所有非0整数的相对位置不变。思路: 扫一遍,两个指针维护0与非0的交界,将非0的数向前赋值就行了。C++ 1 class Solution { 2 public: 3 void moveZeroes(vector& n... 阅读全文
posted @ 2015-10-28 11:32 xcw0754 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题意: 将一个整数num变成它的所有十进制位的和,重复操作,直到num的位数为1,返回num。思路: 注意到答案的范围是在区间[0,9]的自然数,而仅当num=0才可能答案为0。 规律在于随着所给自然数num的递增,结果也是在1~9内循环递增的,那么结果为(num-1)%9+1。 C++:1... 阅读全文
posted @ 2015-10-28 11:13 xcw0754 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一堆石子,里面有n个石头,每次可以从中取出1~3个,两人轮流取,最后一个石子被谁取走即为赢家。你先取,问最后谁赢?思路: n%4>0则先手赢,因为每次总是可以给对方留4个石子的倍数,而对方最多只能取到3个,剩下的给先手来取,所以先手赢。C++:1 class Solution {2 p... 阅读全文
posted @ 2015-10-28 10:26 xcw0754 阅读(154) 评论(0) 推荐(0) 编辑