剑指Offer之Java算法习题精讲求和篇

 更新时间:2022年03月18日 11:28:05   作者:明天一定.  
跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化

题目一 

 解法

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode node = new ListNode(-1);
        ListNode ans = node;
        int carry = 0;
        while (l1 != null || l2 != null) {
            int n1 = l1 != null ? l1.val : 0;
            int n2 = l2 != null ? l2.val : 0;
            int sum = n1+n2+carry;
            carry = 0;
            node.next = new ListNode(sum%10);
            node = node.next;
            if(sum/10>=1){
                carry = 1;
            }
            if(l1!=null){
                l1 = l1.next;
            }
            if(l2!=null){
                l2 = l2.next;
            }
        }
        if(carry>=1){
            node.next = new ListNode(1);
        }
        return ans.next;
    }
}

第二题

 解法

class Solution {
    public int lengthOfLongestSubstring(String s) {
        Set<Character> occ = new HashSet<Character>();
        int rk = -1, ans = 0;
        for(int i = 0;i<s.length();i++){
            if (i != 0) {
                occ.remove(s.charAt(i - 1));
            }
            while(rk+1<s.length()&&!occ.contains(s.charAt(rk + 1))){
                occ.add(s.charAt(rk + 1));
                ++rk;
            }
            ans = Math.max(ans, rk - i + 1);
        }
        return ans;
    }
}

第三题

 解法

class Solution {
    public int sumOfUnique(int[] nums) {
        int sum = 0;
        int[] arr = new int[101];
        for(int i = 0;i<nums.length;i++){
            arr[nums[i]]+=1;
        }
        for(int i = 0;i<arr.length;i++){
            if(arr[i]==1){
                sum+=i;
            }
        }
        return sum;
    }
}

第四题

 解法

class Solution {
    public int maxAscendingSum(int[] nums) {
        if(nums.length==1) return nums[0];
        int sum = nums[0];
        int max = Integer.MIN_VALUE;
        for(int i =1;i<nums.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;
    }
}

到此这篇关于剑指Offer之Java算法习题精讲求和篇的文章就介绍到这了,更多相关Java 求和内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot集成JWT实现登陆验证的方法详解

    SpringBoot集成JWT实现登陆验证的方法详解

    JSON Web Token(JWT)是一个开放的标准(RFC 7519),它定义了一个紧凑且自包含的方式,用于在各方之间以JSON对象安全地传输信息。本文将利用SpringBoot集成JWT实现登陆验证,感兴趣的可以了解一下
    2022-05-05
  • 基于Spring实现零重启自由编排任务的定时管理器

    基于Spring实现零重启自由编排任务的定时管理器

    我们发现,我们使用Spring自带的定时任务如果要有修改,那么就要修改代码,然后重启项目,所以本文就带大家实现一个零重启自由编排任务的定时管理器吧
    2023-07-07
  • IDEA 热部署设置(JRebel插件激活)

    IDEA 热部署设置(JRebel插件激活)

    这篇文章主要介绍了IDEA 热部署设置(JRebel插件激活),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • java notify和notifyAll的对比

    java notify和notifyAll的对比

    这篇文章主要介绍了 java notify和notifyAll的对比的相关资料,需要的朋友可以参考下
    2017-02-02
  • Java 冒泡排序、快速排序实例代码

    Java 冒泡排序、快速排序实例代码

    这篇文章主要介绍了Java 冒泡排序、快速排序实例代码,需要的朋友可以参考下
    2017-05-05
  • Java的Struts框架中<results>标签的使用方法

    Java的Struts框架中<results>标签的使用方法

    这篇文章主要介绍了Java的Struts框架中<results>标签的使用方法,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-11-11
  • 关于Eureka的概念作用以及用法详解

    关于Eureka的概念作用以及用法详解

    这篇文章主要介绍了关于Eureka的概念作用以及用法详解,服务治理就是提供了微服务架构中各微服务实例的快速上线或下线且保持各服务能正常通信的能力的方案总称,需要的朋友可以参考下
    2023-05-05
  • ElasticSearch学习之Es索引Api操作

    ElasticSearch学习之Es索引Api操作

    这篇文章主要为大家介绍了ElasticSearch学习之Es索引Api操作详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 详解使用Jenkins自动编译部署web应用

    详解使用Jenkins自动编译部署web应用

    本篇主要介绍基于Jenkins实现持续集成的方式,通过案例介绍线上自动编译及部署的配置过程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Java 泛型有哪些好处详解

    Java 泛型有哪些好处详解

    这篇文章主要介绍了 Java 泛型有哪些好处详解的相关资料,需要的朋友可以参考下
    2017-02-02

最新评论