算法题 java,java算法基础题
题目一
解法
/** *单链表的定义。*公共类ListNode { * int val * ListNode next * ListNode(){ } * ListNode(int val){ this。val=val} * ListNode(int val,list node next){ this。val=valthis . next=next } * } */class Solution { public ListNode add two numbers(列表节点L1,列表节点L2){ ListNode node=new ListNode(-1);ListNode ans=nodeint进位=0;而(l1!=null l2!=null) { int n1=l1!=null?L1。val : 0;int n2=l2!=null?L2。val : 0;int sum=n1 n2进位;进位=0;node.next=新listnode(sum);node=node . nextif(sum/10=1){ carry=1;} if(l1!=null){ L1=L1。接下来;} if(l2!=null){ L2=L2。接下来;} } if(进位=1){ node。next=新列表节点(1);}返回ans.next}}
第二题
解法
类解决方案{ public int lengthOfLongestSubstring(String s){ set character OCC=new HashSetCharacter();int rk=-1,ans=0;for(int I=0;是。长度();我){如果(我!=0){ OCC。删除(s . charat(I-1));} while(rk 1s.length()!OCC。包含(s . charat(rk 1)){ OCC。add(s . charat(rk 1));rk;} ans=Math.max(ans,rk-I 1);}返回ans}}
第三题
解法
类解决方案{ public int sumo funique(int[]nums){ int sum=0;int[]arr=new int[101];for(int I=0;inums . length I){ arr[nums[I]]=1;} for(int I=0;iarr。长度;I){ if(arr[I]==1){ sum=I;} }返回sum}}
第四题
解法
类解决方案{ public int maxAscendingSum(int[]nums){ if(nums。length==1)返回nums[0];int sum=nums[0];int max=整数。最小值;for(int I=1;inums . length I){ if(nums[I]nums[I-1]){ sum=nums[I];max=Math.max(max,sum);}else{ max=Math.max(max,sum);sum=nums[I];} } return max}}到此这篇关于剑指提供之爪哇算法习题精讲求和篇的文章就介绍到这了,更多相关爪哇求和内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。