力扣企业高频
2022-10-24 15:45:48
283
{{single.collect_count}}

class Solution {public int maxSubArray(int[] nums) {int maxans=Integer.MIN_VALUE;int maxval=Integer.MIN_VALUE; for (int i = 0; i < nums.length; i++) { if(maxans>0) maxans+=nums[i]; //负数,表明对后面的求和无正帮助。因此重置maxans else maxans=nums[i]; //每次需要保存更新最大值! maxval=Math.max(maxval,maxans); } return maxval;}}

 

class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {//数组1 容量足够,考虑将2合并到1尾部从尾到头合并,有序 int i=m-1; int j=n-1; int k=m+n-1; //有一个不满足则跳出循环 while(i>=0 && j>=0){if(nums1[i]<nums2[j]) {nums1[k]=nums2[j]; k--;j--;}else{nums1[k]=nums1[i]; k--;i--;} }// 表示将nums2数组从下标0位置开始,拷贝到nums1数组中,从下标0位置开始,长度为j+1 System.arraycopy(nums2, 0, nums1, 0, j + 1);}}

 

class Solution {public boolean isPalindrome(String s) {int i=0,j=s.length()-1; while(i<j){ //需要i<j &&保证不会超限 while(i<j && !Character.isLetterOrDigit(s.charAt(i))) i++; while(i<j && !Character.isLetterOrDigit(s.charAt(j))) j--; //这里也需要判断一下,保证此时满足条件 if(i<j) { if (Character.toLowerCase(s.charAt(i)) != Character.toLowerCase(s.charAt(j))) return false; i++; j--; } } return true;}}
回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}