小编Sth*_*hra的帖子

这个算法使用DP吗?

所以我最近一直在学习动态规划 (DP),当我遇到以下问题时,我决定使用 DP,但由于我是算法的初学者,我不确定这是否是 DP 的有效示例。

问题:

给定一个数组 nums。我们将数组的运行总和定义为 runningSum[i] = sum(nums[0]…nums[i])。返回 nums 的运行总和。

Example 1:

Input: nums = [1,2,3,4]
Output: [1,3,6,10]
Explanation: Running sum is obtained as follows: [1, 1+2, 1+2+3, 1+2+3+4].
Run Code Online (Sandbox Code Playgroud)

这是我的“DP”解决方案:

class Solution {
    public int[] runningSum(int[] nums) {
        int[] arr = new int[nums.length];
        
        int sum = 0;
        
        for(int i = 0; i < nums.length; i++){
            arr[i] = nums[i] + sum;
            sum += nums[i];
        }
        
        return arr;
    }
}
Run Code Online (Sandbox Code Playgroud)

java dynamic-programming

2
推荐指数
1
解决办法
108
查看次数

如何在简单的 Map 中重新排列键的长度?

我们得到一个句子文本(一个句子是一串空格分隔的单词),格式如下:

第一个字母大写。文本中的每个单词都由一个空格分隔。我们的任务是重新排列文本中的单词,以便所有单词都按其长度递增的顺序重新排列。如果两个单词的长度相同,我们将它们按原来的顺序排列。

Example:

Input: text = "Keep calm and code on"
Output: "On and keep calm code"
Explanation: Output is ordered as follows:
"On" 2 letters.
"and" 3 letters.
"keep" 4 letters in case of tie order by position in the original text.
"calm" 4 letters.
"code" 4 letters.
Run Code Online (Sandbox Code Playgroud)

解决办法是:

Example:

Input: text = "Keep calm and code on"
Output: "On and keep calm code"
Explanation: Output is ordered as follows:
"On" 2 letters.
"and" 3 letters.
"keep" 4 letters …
Run Code Online (Sandbox Code Playgroud)

java arrays string hashmap

2
推荐指数
1
解决办法
144
查看次数

标签 统计

java ×2

arrays ×1

dynamic-programming ×1

hashmap ×1

string ×1