- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 软微java作业第二次-计蒜客进制转换
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int m = input.nextInt(); int k = input.nextInt(); trans(m,k); } st...
2018-10-18 18:12:41 211
原创 leetcode6
class Solution {public: string convert(string s, int numRows) { int size = static_cast<int>(s.size()); // 当行数小于等于1 或 大于原串的size时不用转换 if (numRows <= 1 || numRows >= siz...
2018-10-17 12:31:42 166
原创 leetcode10
class Solution {public: bool isMatch(string s, string p) { if (p.empty()) return s.empty(); if (p.size() == 1) return (s.size() == 1 && (s[0] == p[...
2018-10-17 07:12:00 380
原创 leetcode9
class Solution {public: bool isPalindrome(int x) { if(x < 0) return false; string str = to_string(x); int i = 0; while(isspace(str[i])) ...
2018-10-16 22:18:24 230
原创 leetcode8
class Solution {public: int myAtoi(string str) { if(str.length() == 0) return 0; int i = 0, sign = 1, res = 0; while(isspace(str[i])) i ++; ...
2018-10-16 22:17:30 82
原创 leetcode7
class Solution {public: int reverse(int x) { long long res = 0; while(x) { res = res*10 + x%10; x /= 10; } return (res<INT_MIN||res>I...
2018-10-16 22:16:31 92
原创 leetcode20
解题思路:用一个栈保存未匹配的左括号,然后遍历字符串,判断当前字符是左括号还是右括号。如果当前字符是左括号,那么将其入栈;如果当前字符是右括号且栈非空,那么判断是否与栈顶的左括号相匹配,如果匹配则弹出栈顶元素,不匹配则返回false。最后判断栈是否为空。class Solution {public: bool isValid(string s) { stack<...
2018-10-16 22:15:09 190
原创 leetcode18
class Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { vector<vector<int> > res; int n = nums.size();...
2018-10-16 22:12:48 132
原创 leetcode17
class Solution {public: vector<string> letterCombinations(string digits) { vector<string> res; if(digits.length() == 0) return res...
2018-10-16 22:11:51 130
原创 leetcode16
class Solution {public: int threeSumClosest(vector<int>& nums, int target) { long res = INT_MAX; sort(nums.begin(), nums.end()); for(...
2018-10-16 22:04:29 104
原创 leetcode19
class Solution {public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode** t1 = &head, *t2 = head; for(int i = 1; i < n; ++i) { t2 = t2-&...
2018-10-16 21:59:09 178
原创 leetcode4
class Solution {public: int findKth(vector<int> nums1, vector<int> nums2, int k) { int m = nums1.size(), n = nums2.size(); int i = 0, j = 0, cur = 0; while(i &...
2018-10-16 21:30:50 262
原创 leetcode1
暴力搜索:class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> v(2); for(int i = 0; i < nums.size(); i ++) { ...
2018-10-16 21:27:52 315
原创 leetcode15
解题思路:题意是让我们在一个给定数组中S(假设这里数组S的长度为len),从len个元素任取3个元素,返回(满足:这3个元素和为0)的集合。算法思路: 步骤1. 首先,对数组nums 进行排序(从小到大);步骤2. 如果数组的长度的小于3,即当nums.size() < 3 时,此时满足条件的集合为空;步骤3. 依次考虑第一个元素选取为 nums[0], nums[1], ....
2018-10-15 07:08:55 90
原创 leetcode14
解题思路:题意让我们找到一组字符串中的最长公共前缀,下面举例说明:ABCD、ABC、ABDC、AB 这里字符串一共有4个,通过肉眼我们可以发现最长公共前缀为 AB。ABCD、ABC、ABDC、A 这里字符串一共有4个,通过肉眼我们可以发现最长公共前缀为A。通过上面的例子发现,最长公共前缀肯定包含在每一个字符串中。 算法思路: 步骤1. 如果strs.siz...
2018-10-15 07:03:07 262
原创 leetcode13
解题思路:步骤1. I 对应 1, V 对应 5, X 对应 10, L 对应 50, C 对应 100, D 对应 500, M 对应 1000; s就是有IVXLCDM这些字符组合而成。用p指向s中第一个字符,q指向s中第二个字符,用ans保存结果。 步骤2. 如果p指向字符对应的数值比q指向的大,则将p指向字符所对应的数值加到ans中;否则,从ans中减去p指向字符所对应数值。更新p...
2018-10-15 06:57:09 103
原创 leetcode11
解题思路:步骤1. left指向最左边的红点(left=0),right指向最后边的红点(right=height.size()-1),此时能装水的高度是 min(height[left], height[right]), 装水的宽度是 right-left.计算当前能装水的容量 和 之前最大值进行比较,即 res步骤2. left和right更新策略,谁短谁更新。更新left,即left...
2018-10-15 00:50:14 75
原创 leetcode12
题目分析:这道题目的要求是输入数字,得到对应的罗马数字。首先得明白Roman数字构成,具体如下所示:阿拉伯数字4 对应的罗马数字 IV 阿拉伯数字9 对应的罗马数字 IX 阿拉伯数字40 对应的罗马数字 XL 阿拉伯数字90 对应的罗马数字 XC 阿拉伯数字400 对应的罗马数字 CD在了解罗马数字的基础上,对题意展开分析可知步骤1. I 对应 1, V 对应 5, X ...
2018-10-15 00:45:21 148
原创 leetcode第五题
1.manacher法,思想如下:时间复杂度:O(n*n), 空间复杂度:O(1)高效解法:基本解法的时间复杂度已经到O(n*n),既然存在高效解法,势必要牺牲空间来换时间,才可以将时间复杂度降低。 首先分析基本算法:外层for循环用于选择中心点,内层两边for循环分别考虑回文子串长度为奇数和偶数。首先我们考虑将回文子串长度全部变为奇数。 分别在字符串(举例:该字符串为“ABBABCBA...
2018-10-13 22:34:03 552
原创 leetcode第三题
采用动态规划的方法去做,核心思想如下:"滑动窗口" 比方说 abcabccc 当你右边扫描到abca的时候你得把第一个a删掉得到bca, 然后"窗口"继续向右滑动,每当加到一个新char的时候,左边检查有无重复的char, 然后如果没有重复的就正常添加, 有重复的话就左边扔掉一部分(从最左到重复char这段扔掉),在这个过程中记录最大窗口长度cl...
2018-10-13 22:14:47 1302
原创 leetcode第二题
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* ad...
2018-10-13 21:00:50 104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人