Leetcode
Vivian0990308
这个作者很懒,什么都没留下…
展开
-
292. Nim Game
题意理解:对于任何情况当给对方剩余4个石头时,我方是胜利的,所以只要是4的倍数,我方就是输的,否则必胜(给对手留下4的倍数的石头)class Solution {public: bool canWinNim(int n) { return n%4;//当选手的于的数为4的倍数,无论如何都会输,否则必胜 }};原创 2017-05-11 19:22:08 · 325 阅读 · 0 评论 -
496. Next Greater Element I
题意理解:找到findNums数组中每一个数在nums数组所在位置之后的比当前数大的数字,如果没有,保存-1class Solution {public: vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) { int len1=findNums.size(); int原创 2017-05-10 10:53:44 · 239 阅读 · 0 评论 -
566. Reshape the Matrix
题意理解:将现有矩阵,按照既定的行列转换class Solution {public: vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) { vector<vector<int>> res(r,vector<int>(c)); int row=nums.size();原创 2017-05-10 10:39:33 · 283 阅读 · 0 评论 -
561. Array Partition I
题意理解:组成数组对,使得所有数组对中最小值的和最大class Solution {public: int arrayPairSum(vector<int>& nums) { int len=nums.size(); if(len==0)return 0; sort(nums.begin(),nums.end(),less<int>()); int coun原创 2017-05-10 10:13:08 · 331 阅读 · 0 评论 -
575. Distribute Candies
题意理解:每个数字代表一类,分给两个人,当两个人分得数目相同时,种类的最大数 种类的最大数:当总类别数小于总数/2,是总类别数 否则是总数/2class Solution {public: int distributeCandies(vector<int>& candies) { if(candies.size()==0原创 2017-05-10 10:25:32 · 445 阅读 · 0 评论 -
344. Reverse String
题意:直接反转字符串class Solution {public: string reverseString(string s) { if(s.length()<=1)return s; int len=s.length(),start=0; while(start<len-1) { char temp=s[start]; s原创 2017-04-25 10:28:04 · 331 阅读 · 0 评论 -
412. Fizz Buzz
题意:将3和5的公倍数返回“FizzBuzz”,只是3的公倍数返回“Fizz”,只是5的公倍数返回“Buzz”,否则返回字符型数值class Solution {public: vector<string> fizzBuzz(int n) { vector<string>res; if(n==0)return res; for(int i=1;i<=n;i++)原创 2017-04-25 10:26:29 · 394 阅读 · 0 评论 -
500. Keyboard Row
题意:判断字符串数组中的每个字符串是否是在同一行上 思路:定义键盘字符数组对应的map,记录字符串的第一个字符所在的行,然后匹配下边字符,如果出现不同的val值,则不符合要求class Solution {public: vector<string> findWords(vector<string>& words) { vector<string> res; if(wor原创 2017-04-25 10:22:56 · 305 阅读 · 0 评论 -
476. Number Complement
题意:求任意数字num的二进制各位取反的数值 思路:计算num的位数,找对应位数的各位均为1的值,然后求异或,即可取反class Solution {public: int findComplement(int num) { int temp=num,mask=1; while(temp) { temp=temp>>原创 2017-04-23 16:51:29 · 280 阅读 · 0 评论 -
557. Reverse Words in a String III
题意:反转字符串列表class Solution {public: void reverse(string &s,int i,int j){ //反转字符函数 while(i<j) { char temp=s[i]; s[i]=s[j]; s[j]=temp; i++,j--; }}strin原创 2017-04-23 16:46:05 · 439 阅读 · 0 评论 -
461. Hamming Distance
理解题意: 即查找两个数的二进制位对应不相等的个数class Solution {public: int hammingDistance(int x, int y) { int count=0; while(x!=0||y!=0) { if(((x&1)^(y&1))==1)//如果异或后为1,则两数不相同 count+原创 2017-04-23 16:42:29 · 403 阅读 · 0 评论 -
520. Detect Capital
Given a word, you need to judge whether the usage of capitals in it is right or not.We define the usage of capitals in a word to be right when one of the following cases holds:All letters in this word原创 2017-05-11 19:45:34 · 369 阅读 · 0 评论 -
521. Longest Uncommon Subsequence I
理解题意:最长不常见子序列被定义为,这些字符串之一的最长子序列,而这个子序列不应该是其他字符串的任何子序列。当最长不常见子序列不存在时,返回-1class Solution {public: int findLUSlength(string a, string b) { int row=a.length(); int col=b.length();原创 2017-05-11 19:39:13 · 292 阅读 · 0 评论 -
136. Single Number
题意理解:数组中的数只有一个出现了一次,找到这个数 分析:相同的两个数字异或为0,所以整个数组异或可得唯一只出现过一次的值class Solution {public: int singleNumber(vector<int>& nums) {//异或相同的值会消掉 int len=nums.size(); if(len==0)return -1;原创 2017-05-11 19:29:19 · 281 阅读 · 0 评论 -
485. Max Consecutive Ones
题意:寻找连续的1的个数,遍历一遍即可,用一个值来保存当前连续的1的个数class Solution {public: int findMaxConsecutiveOnes(vector<int>& nums) { if(nums.size()==0)return 0; int maxn=0,len=nums.size(),count=0; for(int i=0;原创 2017-05-11 19:25:09 · 355 阅读 · 0 评论 -
463. Island Perimeter
解题思路:对于每一个空格首先增加4条边,对于每个空格如果,右方和下方都是1,则相应的总计边数减2(抵消的是两条边)class Solution {public: int islandPerimeter(vector<vector<int>>& grid) { int row=grid.size(); if(row==0)return 0; int col=gr原创 2017-05-10 11:07:52 · 213 阅读 · 0 评论