算法题
WAY55
这个作者很懒,什么都没留下…
展开
-
【牛客网】NC19 子数组的最大累加和问题
描述 给定一个数组arr,返回子数组的最大累加和 例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子数组中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12. 题目保证没有全为负数的数据 [要求] 时间复杂度为O(n),空间复杂度为O(1) 示例1 输入: [1, -2, 3, 5, -2, 6, -1] 返回值: 12 备注: 1≤N≤105 1 \leq N \leq 10^5 1≤N≤105 ∣arri∣≤100 |arr_i| \leq 100 ∣arri原创 2021-07-10 01:35:41 · 172 阅读 · 0 评论 -
【牛客网】NC88 寻找第K大
描述 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。 给定一个整数数组a,同时给定它的大小n和要找的K(1<=K<=n),请返回第K大的数(包括重复的元素,不用去重),保证答案存在。 示例1 输入: [1,3,5,2,2],5,3 返回值: 2 示例2 输入: [10,10,9,9,8,7,5,6,4,3,4,2],12,3 返回值: 9 题目框架(Java) import java.util.*; public class Solution { public原创 2021-07-10 01:22:28 · 333 阅读 · 0 评论 -
二叉搜索树与双向链表
牛客网剑指offer 二叉搜索树与双向链表 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 相关结构 public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } 解法思想 二叉原创 2021-04-04 17:25:46 · 80 阅读 · 0 评论 -
字符串的排列
牛客网剑指offer 字符串的排列 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 输入 "ab" 返回值 ["ab","ba"] 解法思想 递归 解法(Java) public class Solution { ArrayList<String> arrayLi原创 2021-04-04 17:11:05 · 102 阅读 · 0 评论 -
【力扣】无重复字符的最长子串
代码实现 class Solution { public int lengthOfLongestSubstring(String s) { int leng = 0, max = 0; for (int i = 0; i < s.length(); i++) { leng = 1; Set<Char...原创 2019-11-11 10:05:07 · 99 阅读 · 0 评论 -
【力扣】2.两数相加
代码实现 class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode head = null; ListNode p1 = null; ListNode p2 = null; int tem = 0; w...原创 2019-11-11 10:04:08 · 182 阅读 · 0 评论 -
寻找两个有序数组的中位数
代码实现 class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int length1 = nums1.length; int length2 = nums2.length; int lengthAll = length1 + len...原创 2019-11-11 10:03:13 · 86 阅读 · 0 评论