
每日一题
nai_dev
学无止境~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode题之合并两个有序链表(简单)
直接的数值比较,这里可以新链接一个链表,或者直接在其中一个链表插入移动。题目描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4代码:class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { /.原创 2020-05-17 19:30:30 · 179 阅读 · 0 评论 -
leetcode题之有效的括号(简单)
遇到这道题一开始的思路就是使用栈的先进后出;不过看到一个简洁的代码是直接匹配括号,然后删除一对括号,如果符合,最后字符串为空;不过后者时间复杂度和空间复杂度不好,因为需要不断调用api。题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1:输入: “()”输出: true示例2:输入: “(]...原创 2020-05-17 17:54:22 · 140 阅读 · 0 评论 -
leetcode题之删除倒数第n个节点(中等)
和查找链表倒数第n个节点差不多,不过这里我们先查到倒数第n个的前一个,这样通过a.next指向需删除的下一个节点,这个节点就被删除了。题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.代码:老方法,使用双指针;/** *.原创 2020-05-17 10:53:11 · 167 阅读 · 0 评论 -
leetcode题之四数之和(中等)
两数之和,三数之和,它来了。。。四数之和。可推广到n数之和。题目描述:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[[-1, 0, 0, 1],[.原创 2020-05-16 14:17:20 · 165 阅读 · 0 评论 -
leetcode题之三数之和为0(中等)
《LeetCoding》读完题我就上手 操作起来稳如狗二话不说就提交 最终超时骂我草三顾题解再上手 提交错误心疾首寻思看看评论区 没想和我一样虚愁的我是头发白 做题还得自己来反反复复终无误 击败百分三点五题目描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -.原创 2020-05-15 14:07:07 · 335 阅读 · 0 评论 -
算法题之约瑟夫环(简单)
约瑟夫环代码简短,简单但可读性变难。题目描述:一共有n个人,依次报数,报到k的人被淘汰,第k+1个人又从1开始,最后留下的人的编号。示例1:输入(8,3)输出 7最后12345678中的第7编号留下;示例2:输入(1,3)输出 1当为1个人时,无论怎么报数,已经是最后留下的人简单说明原理:我们可以用数组和链表模拟游戏过程,得出结果,但这里只需结果,无需过程,所以用数学方法;(案例为5个人报数,报到3的排除)原编号12345排除124.原创 2020-05-15 12:13:19 · 405 阅读 · 0 评论 -
leetcode题之返回倒数第k个节点(简单)
快慢指针题目描述:实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。示例:输入: 1->2->3->4->5 和 k = 2输出: 4代码如下:class Solution { public int kthToLast(ListNode head, int k) { ListNode slow = head; ListNode fast = head; while(k>0){ .原创 2020-05-14 18:05:27 · 441 阅读 · 0 评论 -
leetcode题之最长公共前缀(简单)
求最大字符串和最小字符串(字符串是字典排序)的最长公共前缀;直接以第一个字符串为标准一次删去最后一个字符,startwith判断,直到最后一个字符串;字典树题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。代码如下:上述的第二种方法:..原创 2020-05-14 16:21:30 · 213 阅读 · 0 评论 -
leetcode题之罗马数字转整数(简单)
IV这种可以理解减I加V,所以-1+5=4;题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写.原创 2020-05-14 15:10:27 · 248 阅读 · 1 评论 -
leetcode题之整数转罗马数字(中等)
固定符号一般采取编码题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为.原创 2020-05-14 14:57:24 · 155 阅读 · 0 评论 -
leetcode题之盛最多容器水(中等)
平移,贪心算法题目描述:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49java代码:class Solution { public int maxArea(int[] .原创 2020-05-14 09:57:27 · 266 阅读 · 0 评论 -
leetcode题之Z字形变换(中等)
一道找规律题直接z型存入n(规定的行)个stringbuilder;根据规律(2*n-2为周期)。题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函.原创 2020-05-10 19:24:51 · 205 阅读 · 0 评论 -
leetcode题之最长回文子串(中等)
算法可用:中心扩展法,动态规划法,马拉车算法。题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。测试样例:示例1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例2:输入: “cbbd”输出: “bb”马拉车算法代码实现如下:class Solution {public: string longestPalindrome(string s) { // Inser.原创 2020-05-09 19:41:47 · 116 阅读 · 0 评论 -
leetcode题之寻找两个有序数组的中位数(困难)
来源:力扣(LeetCode)题库链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays题目描述:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例...原创 2020-04-30 13:23:13 · 181 阅读 · 0 评论 -
leetcode题之无重复字符的最长子串(中等)
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。...原创 2020-04-30 08:47:52 · 121 阅读 · 0 评论 -
leetcode题之两数之和(简单)
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], t...原创 2020-04-30 08:38:12 · 128 阅读 · 0 评论