
leetcode
young_qin
这个作者很懒,什么都没留下…
展开
-
LeetCode日记 | 最大子序列(动态规划)
题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输出:-100000来源:力扣(Leet原创 2021-04-11 17:31:31 · 112 阅读 · 0 评论 -
2021-04-10
题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1难度:简单代码:class Solution { public int searchInsert(int[] nums, int target) { for(int i = 0; i <原创 2021-04-10 15:50:22 · 106 阅读 · 0 评论 -
LeetCode日记 | 实现String的substr()
题目:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。难度:简单代码:public int strSt原创 2021-04-09 15:57:28 · 252 阅读 · 0 评论 -
LeetCode 日记 | 删除有序数组的重复项
题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。难度:普通代码:public int removeElement(int[] nums, int val) { int j = 0; int l = 0; for(int i =0 ; i < nums.le原创 2021-04-06 16:23:09 · 123 阅读 · 0 评论 -
LeetCode 日记 | 删除有序数组的重复项
题目:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回的数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者来说是可见的。你可以想象内部操作如下: // nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝 int le原创 2021-04-05 16:24:41 · 105 阅读 · 0 评论 -
LeetCode日记 | 合并有序链表
题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。难度:简单代码:public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode head = new ListNode(0); ListNode cur = head; while (l1 != null && l2 != null){ i原创 2021-04-04 16:17:16 · 85 阅读 · 0 评论 -
LeetCode日记 | 有效的括号
题目:给定一个只包括一个 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s 判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。难度:简单解析:public boolean isValid(String s) { int i = s.length()/2; for (int j = 0; j < i; j++) { s = s.replace("{}","").replace("()","").r原创 2021-04-03 16:05:49 · 88 阅读 · 0 评论 -
LeetCode 日记 | 最长公共前缀
**题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。难度:简单解析:**public String test(String[] strs){ // 数组元素为零 if (strs.length == 0) return ""; String s = strs[0]; for (String string : strs){ // 以公共前缀开始的,就进while while (!string.原创 2021-04-02 22:12:29 · 83 阅读 · 0 评论 -
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, 即为 XX + V + II 。通原创 2021-04-01 19:32:38 · 135 阅读 · 0 评论 -
LeetCode日记 回文数
题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。难度系数:简单解法:public boolean test(){ int x = 121; int y = 0; int rem = 0; // 变量副本 int x1 = x; if (x < 0) return false; whil原创 2021-03-31 22:52:36 · 135 阅读 · 0 评论 -
leetcode日记-两数之和
/** * Create by wuyang9769@163.com * Decorate: * * 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那两个整数,并返回它们的数组下标。 * * 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 * * 你可以按任意顺序返回答案。 * * 输入:nums = [2,7,11,15], target = 9 * 输出:[0,1] * 解释:因为 nums[0]原创 2021-03-30 23:06:07 · 111 阅读 · 0 评论