当前位置:   article > 正文

LC53最大子数组和、lc5最长回文子串、lc283移动零

LC53最大子数组和、lc5最长回文子串、lc283移动零

LC53最大子数组和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

子数组

是数组中的一个连续部分。

示例 1:

输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。

示例 2:

输入:nums = [1]
输出:1

示例 3:

输入:nums = [5,4,-1,7,8]
输出:23
  1. class Solution {
  2. public int maxSubArray(int[] nums) {
  3. if(nums.length == 1) return nums[0];
  4. int max = 0, res = Integer.MIN_VALUE;
  5. for(int i = 0; i < nums.length; i++) {
  6. max = Math.max(nums[i] + max, nums[i]);
  7. res = Math.max(max, res);
  8. }
  9. return res;
  10. }
  11. }

lc5最长回文子串

给你一个字符串 s,找到 s 中最长的回文子串。

示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:

输入:s = "cbbd"
输出:"bb"
  1. class Solution {
  2. public String longestPalindrome(String s) {
  3. if(s.length() == 1) return s;
  4. // 第一位表示其实idx,第二位表示长度
  5. int[] res = new int[2];
  6. int maxLen = 0;
  7. for(int i = 0; i < s.length() - 1; i++) {
  8. int[] temp = new int[2];
  9. int[] odd = isHuiWen(s, i, i);
  10. int[] even = isHuiWen(s, i, i+1);
  11. if(odd[1] > even[1]) temp = odd;
  12. else temp = even;
  13. if(temp[1] > maxLen) {
  14. maxLen = temp[1];
  15. res = temp;
  16. }
  17. }
  18. return s.substring(res[0], res[0] + res[1]);
  19. }
  20. public int[] isHuiWen(String s, int l, int r) {
  21. int[] res = new int[2];
  22. while(l >= 0 && r < s.length()) {
  23. if(s.charAt(l) != s.charAt(r)) break;
  24. else {
  25. l = l - 1;
  26. r = r + 1;
  27. }
  28. }
  29. res[0] = l+1;
  30. res[1] = r - l -1;
  31. return res;
  32. }
  33. }

LC283移动0

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例 2:

输入: nums = [0]
输出: [0]
  1. class Solution {
  2. public void moveZeroes(int[] nums) {
  3. int l = 0, r = 0;
  4. while(r < nums.length) {
  5. if(nums[r] != 0) {
  6. int temp = nums[l];
  7. nums[l] = nums[r];
  8. nums[r] = temp;
  9. l++;
  10. }
  11. r++;
  12. }
  13. }
  14. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/828535
推荐阅读
相关标签
  

闽ICP备14008679号