leetcode
文章平均质量分 51
yao_yao_2015
这个作者很懒,什么都没留下…
展开
-
[leetcode]242. Valid Anagram
给两个string类型的变量s和t,判断s和t是否是相同字母异序词例如:s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false.代码如下:class Solution {public: bool isAnagram(string s, string t) {原创 2017-06-28 09:52:31 · 381 阅读 · 0 评论 -
[leetcode]15. 3Sum
这个问题参考别人的代码,现在给出解决思路:①首先对输入矩阵进行排序,变成从小到大或者从大到小的形式(在这里采用从小到大的形式)②由于找到三个数的和为0,运用三个索引表示这三个数,i,j,k③i表示第一个数,在这里对i进行[0,size-1]的循环 j=i+1表示大于i的第一个数,k=size-1,表示最大的数 分别计算i+j+k对应数值,将结果保存在total变量中,之后转载 2017-03-22 15:58:44 · 179 阅读 · 0 评论 -
[leetcode]189. Rotate Array
Rotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].class Solution {public: void rotat原创 2017-03-06 09:39:16 · 157 阅读 · 0 评论 -
[leetcode]167. Two Sum II - Input array is sorted
Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two nu转载 2017-03-05 16:03:08 · 182 阅读 · 0 评论 -
[leetcode]125. Valid Palindrome
我的思路:将有效的字符存起来(不包含符号和空格),之后判断是否为回文序列class Solution {public: bool isPalindrome(string s) { if(s.size()<2) return true; vector input; for(int i=0; i<s.size();原创 2017-03-04 10:38:37 · 202 阅读 · 0 评论 -
[leetcode]122. Best Time to Buy and Sell Stock II
想复杂了,参考了别人的思路class Solution {public: int maxProfit(vector& prices) { int total = 0; for(int i=1; i<prices.size(); i++) { if((prices[i]-prices[i-1])>0)转载 2017-03-03 16:59:40 · 307 阅读 · 0 评论 -
[leetcode]67. Add Binary
思路1:将a和b先转换成int,转换成10进制,进行相加,结果转换成2进制,结果转换成char类型放弃原因:题目上并没写a和b的大小和范围,int型有最大上限,可能会溢出思路2:读取a,b当前位,转换成int进行进位和当前位的判断放弃原因:转换成Int的过程中和思路3相比不是一个最优解,需要一次char-int和一次int-char的过程思路3:当char强制转化成Int是对其as原创 2017-03-03 16:33:34 · 226 阅读 · 0 评论 -
[leetcode]88. Merge Sorted Array
思路1:直接将num1和num2进行比较,在num1中插入num2的值。本来想按照这个思路下去,结果总是出错,于是换了一种思路。思路2:将复制num1,按照归并排序的方式进行排序相比来说思路1更省空间,是可行的,更优class Solution {public: void merge(vector& nums1, int m, vector& nums2, int n原创 2017-03-03 16:25:58 · 277 阅读 · 0 评论 -
[leetcode]121. Best Time to Buy and Sell Stock
思路:有一个值记录前面最小值,有一个值记录最大值。这个题本来想多了,一看是easy类型的,就往简单想,果然是easy类型的class Solution {public: int maxProfit(vector& prices) { if(prices.size()<2) return 0; int min =原创 2017-03-03 16:20:32 · 214 阅读 · 0 评论 -
[leetcode]16. 3Sum Closest
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exact原创 2017-03-22 16:21:27 · 203 阅读 · 0 评论 -
[leetcode]204. Count Primes
Description:Count the number of prime numbers less than a non-negative number, n.返回质数的个数解题思路:①设置一个bool型的数组,最开始都初始化为true②从2到n-1,假设i*i③统计2到n-1中存在多少个trueclass Solution {publi转载 2017-03-29 17:01:55 · 200 阅读 · 0 评论 -
[leetcode]160. Intersection of Two Linked Lists
思路参考博客:http://blog.csdn.net/nomasp/article/details/50572819代码如下:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x转载 2017-06-27 11:35:33 · 262 阅读 · 0 评论 -
[leetcode] Add to List 169. Majority Element
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the array is non-empty and the majority element原创 2017-06-26 15:55:34 · 334 阅读 · 0 评论 -
[leetcode]168. Excel Sheet Column Title
我的思路:相当于是26进制,不过需要考虑一下没有0的情况,写一个函数不断的返回传入参数除以26后的结果,要特别考虑当传入数据余数为0的情况,此时应该将余数作为26进行处理代码如下,一次过class Solution {public: string convertToTitle(int n) { vector result; char t原创 2017-06-26 15:33:31 · 307 阅读 · 0 评论 -
461. Hamming Distance
class Solution {public: int hammingDistance(int x, int y) { int z; z = x ^ y; int num = 0; for(int i=0; i<32; i++) { int tmp = 1<<i;原创 2017-03-16 13:31:05 · 159 阅读 · 0 评论 -
[leetcode]202. Happy Number
Write an algorithm to determine if a number is "happy".A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares原创 2017-03-14 09:44:25 · 202 阅读 · 0 评论 -
[leetcode]191. Number of 1 Bits
这个题在昨晚190后开始写,一次成功,果然位操作还是王道class Solution {public: int hammingWeight(uint32_t n) { int result = 0; for(int i=0; i<32; i++) { int tmp = n & 0x01;原创 2017-03-13 22:04:21 · 190 阅读 · 0 评论 -
[leetcode]190. Reverse Bits
这个题参考的是网上的思路class Solution {public: uint32_t reverseBits(uint32_t n) { int result = 0; for(int i=0; i<32; i++) { int tmp = n & 0x01; n = n>>1;转载 2017-03-13 21:56:13 · 257 阅读 · 0 评论 -
[leetcode]217. Contains Duplicate
Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element原创 2017-03-29 20:57:51 · 197 阅读 · 0 评论 -
[leetcode]206. Reverse Linked List
Reverse a singly linked list./** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class原创 2017-03-29 20:17:33 · 184 阅读 · 0 评论 -
[leetcode]205. Isomorphic Strings
Given two strings s and t, determine if they are isomorphic.Two strings are isomorphic if the characters in s can be replaced to get t.All occurrences of a character must be replaced with anot原创 2017-03-29 17:41:57 · 275 阅读 · 0 评论 -
[leetcode]53. Maximum Subarray
参考了一个算法,链接如下:http://blog.csdn.net/joylnwang/article/details/6859677然而算法只看懂了第一部分,最大字串假设是[i,j]那么iclass Solution {public: int maxSubArray(vector& nums) { int length = nums.size();原创 2017-03-02 14:21:16 · 166 阅读 · 0 评论 -
[leetcode]66. Plus One
通过数组存放着一个正数,对它进行加1操作。这个题需要考虑进位,但是如果当前进位为0,那么之后也不会出现溢出的问题,比如说1189,加1后就是1190,进行计算时,计算到十位8+1(进位),如果十位小于10,那么百位和千位都不用进行处理了,这样能够节约时间。class Solution {public: vector plusOne(vector& digits) {原创 2017-03-02 10:22:45 · 187 阅读 · 0 评论 -
[leetcode]38. Count and Say
题目描述:其实刚看到题目没看懂是什么意思,后来看懂了。输入n=1 默认1输入n=2 前面的数据是一个1,记作11输入n=3 前面的数据是两个1,记作21输入n=4 前面的数据是一个2一个1,记作1211输入n=5 前面的数据时一个1一个2两个1,记作111221……前面的数据如果连着就练着数,如11就是连着记作21,相邻字母不同如原创 2017-03-02 09:50:23 · 166 阅读 · 0 评论 -
[leetcode]2.Add Two Numbers
题目:You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as原创 2016-10-21 15:31:48 · 259 阅读 · 0 评论 -
[leetcode]3.longest substring without repeating characters
题目:Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the an原创 2016-11-01 10:41:27 · 350 阅读 · 0 评论 -
[leetcode]11.Container With Most Water
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two原创 2016-12-27 15:12:06 · 241 阅读 · 0 评论 -
[leetcode]12. Integer to Roman
Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.->Roman数字计算规则:基本字符有7个:I,V,X,L,C,D,M,分别表示1,5,10,50,100,500,1000。在构成数字的时候,有下列规则:原创 2016-12-27 16:59:07 · 184 阅读 · 0 评论 -
[leetcode]13. Roman to Integer
Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999int trans(char in){ switch(in) { case 'I':return 1; case 'V':retur原创 2016-12-28 11:14:13 · 187 阅读 · 0 评论 -
[leetcode]14. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.char* longestCommonPrefix(char** strs, int strsSize) { char* str=strs[0]; int i,j; if(strsSize转载 2016-12-28 15:14:54 · 175 阅读 · 0 评论 -
[leetcode]35. Search Insert Position
给一组已经排好序的数组和一个目标值,如果目标值在数组中找到的话返回该值所在的编号,如果找不到,返回应该插入的编号。例如:[1 3 5 6] 5 ->2 [1 3 5 6 ] 2 ->1 [1 3 5 6] 7 ->4 [1 3 5 6] 0 ->0int searchInsert(int* nums, int numsSize, int target) { int re原创 2017-01-05 20:54:12 · 166 阅读 · 0 评论 -
[leetcode]27. Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.The原创 2017-01-05 16:03:02 · 173 阅读 · 0 评论 -
[leetcode]26. Remove Duplicates from Sorted Array
Given a sorted array, remove the duplicates in place such that each element appear only once and return new length.Do not allocate extra space for another array, you must do this in place with const原创 2017-01-05 15:51:43 · 171 阅读 · 0 评论 -
[leetcode]29. Divide Two Integers
Divide two integers without using multiplication, division and mod operator.If it's overflow, return INT_MAX.代码转载class Solution {public: int divide(int dividend, int divisor) {转载 2017-01-05 15:22:30 · 193 阅读 · 0 评论 -
[leetcode]1.Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution.Example:Given nums = [原创 2016-08-16 15:43:40 · 269 阅读 · 0 评论 -
[leetcode]374. Guess Number Higher or Lower
We are playing the Guess Game. The game is as follows:I pick a number from 1 to n. You have to guess which number I picked.Every time you guess wrong, I'll tell you whether the number is highe原创 2016-08-01 17:05:37 · 237 阅读 · 0 评论 -
[leetcode]28. Implement strStr()
实现strStr(),返回needle在haystack中第一次出现的索引号,如果没有找到输出-1第一次pass 73/74,根据提醒,如果haystack="a" needle=" " 默认空和任何数都是匹配的。我写的时间复杂度有些大,是O(n2) class Solution {public: int strStr(string haystack, string nee原创 2017-03-01 11:33:17 · 170 阅读 · 0 评论 -
[leetcode]9. Palindrome Number
判断一个整数是不是回文结构(aba abccba)这个代码居然一!次!过!!!容我开心一会我的思路是将int型转换成char型,之后计算char的长度,进行翻转,比如abcd编程dcba,将翻转后的对应字符和翻转前对比,如果一致不操作,不一致返回false。class Solution {public: bool isPalindrome(int x) { c原创 2017-03-01 10:26:45 · 162 阅读 · 0 评论 -
[leetcode]21. Merge Two Sorted Lists
将两个已经排序的链表排成一个链表其实就是归并排序/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solutio原创 2017-02-28 22:28:48 · 137 阅读 · 0 评论 -
[leetcode]171. Excel Sheet Column Number
通过给定的字符串,按照规则返回对应的数值A->1B->2B->3Z->26AA->27AB->28这个题主要需要找到类似于十进制的个位,十位,百位上字母和对应的数字之间的关系个位=1---26十位=26+(num-A)*26百位=26*26 +(num-A)*26*26;int titleToNumber(char* s) {原创 2017-01-13 11:52:13 · 186 阅读 · 0 评论