前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >剑指offer第七天

剑指offer第七天

作者头像
郭耀华
发布2018-05-09 14:50:38
4890
发布2018-05-09 14:50:38
举报
文章被收录于专栏:郭耀华‘s Blog郭耀华‘s Blog

30.连续子数组的最大和

HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少是1)

代码语言:javascript
复制
public class Solution {
    public int FindGreatestSumOfSubArray(int[] array) {
        //当输入无效时,返回0
        if(array == null || array.length == 0) return 0;
        int[] DP = new int[array.length];
        DP[0] = array[0];
        int max = DP[0];
        for(int i = 1; i < array.length ; i++){
            //DP[i]表示以array[i]为结尾的最大连续子序列
            DP[i] = Math.max(DP[i-1]+array[i],array[i]);
            max = Math.max(max,DP[i]);
        }
        return max;
    }
}

31.1~n整数中1出现的次数

输入一个整数n,求1~ n个整数的十进制表示中1出现的次数,例如:输入13,1~13中包含1的数字有1、10、11、12、13因此共出现6次。

解题思路:

思路: n中每一位数字对整体“1”数量的影响包括一下两个方面:

  1. 若第i位大于1,则该位1的个数位,高于i的位组成的数字+1倍的10^i;
  2. 若第i位等于1,则该位1的个数位,高于i的位组成的数字倍的10^i加上后面各位组成的数字加1;
  3. 若第i位小于1,则该位1的个数位,高于i的位组成的数字倍的10^i; import java.util.ArrayList; public class Solution { public int NumberOf1Between1AndN_Solution(int n) { if(n<=0) return 0; //用于将int的每一位数字保存在int[]数组中 ArrayList<Integer> number = new ArrayList<>(); int totalNums = 0; //已分析过的高位数字组成的乘子 int mult = 0; int temp = n; while(temp!=0){ number.add(temp%10); temp = temp/10; } for(int i = number.size()-1;i>=0;i--){ int nums = (int)(Math.pow(10,i)); if(number.get(i) == 1){ totalNums += (int)(n % Math.pow(10,i) + 1); }else if(number.get(i) > 1){ totalNums += (int)(Math.pow(10,i)); }else if(number.get(i) == 0){ } totalNums += mult * nums; mult = mult * 10 + number.get(i); } return totalNums; } }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-02-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 30.连续子数组的最大和
  • 31.1~n整数中1出现的次数
    • 解题思路:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档