
LeetCode每日一题
qq_2359109837
这个作者很懒,什么都没留下…
展开
-
8.字符串转换整数.cpp中等(确定有限状态机DFA)
题目描述:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下: 如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。 假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。 该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如原创 2020-05-19 11:34:09 · 315 阅读 · 1 评论 -
7.整数翻转.cpp简单(考虑溢出)
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。class Solution {public: int reverse(int x) { i..原创 2020-05-11 21:29:28 · 346 阅读 · 0 评论 -
5.最长回文子串.java中等(Manacher算法)
Java substring()方法Java substring()方法:substring() 方法返回字符串的子字符串public String substring(int beginIndex)或public String substring(int beginIndex, int endIndex)参数:beginIndex -- 起始索引(包括), 索引从 0 开始endIndex -- 结束索引(不包括)Java StringBuffer()Java String原创 2020-05-10 21:43:36 · 190 阅读 · 0 评论 -
4.寻找两个有序数组的中位数.java困难(时间复杂度log(m+n))
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。log======二分法(求第k小元素法)class Solution { public double findMedianSortedArrays(int...原创 2020-05-05 22:26:07 · 327 阅读 · 0 评论 -
3.无重复字符的最长字符串.java 中等
问题描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符...原创 2020-04-29 20:53:53 · 147 阅读 · 0 评论 -
2两数相加.java中等
链表的使用,以及多种情况的考虑(位数相同&位数不同)巧妙:避免位数不同int x =(p!=null)?p.val:0;int y =(q!=null)?q.val:0;问题:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示...原创 2020-04-27 20:55:25 · 174 阅读 · 0 评论 -
1_两数之和.java 简单
class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map = new HashMap<>(); for ( int i = 0; i <= nums.length; i++ ){ in...原创 2020-04-24 23:26:53 · 222 阅读 · 2 评论