LeetCode343:整数拆分
题目描述:给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化,返回 你可以获得的最大乘积 。 方法1:动态规划,dp[i]表示第i个数可获得的最大乘积 class Solution { public: int integerBreak(int
题目描述:给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化,返回 你可以获得的最大乘积 。 方法1:动态规划,dp[i]表示第i个数可获得的最大乘积 class Solution { public: int integerBreak(int
题目描述: 方法1:动态规划,dp[i][j]表示到第 i-1 行第 j-1 列不同路径,dp[i][j] = dp[i-1][j] + dp[i][j-1];其中第一列和第一行固定只有一种路径,从第二行第二列开始遍历,保证可以填满dp数组 class Solution { public:
题目描述:根左右的遍历方式 方法1:递归 class Solution { public: vector<int> vals; void pre_order(TreeNode* root){ if(!root) return; vals.push_ba
题目描述: 方法1:动态规划,分别求最大子数组和和最小子数组和,他们的绝对值中最大的一个即为题目要求 class Solution { public: int maxAbsoluteSum(vector<int>& nums) { int p = max(0,nums[0])
题目描述: 方法1:动态规划,题目类似于最大子数组和,本题中p表示以nums[i]结尾的最大开销的子数组,val哈希表存储每个字母的开销 m是最大开销的子数组 class Solution { public: int maximumCostSubstring(string s, string
三层架构 上一篇文章的案例出现问题,进行程序设计以及程序开发时,应该满足单一职责原则,一个类或一个方法,就只做一件事情,只管一块功能,但是上一篇文章却是一个类做了三件事情 上一篇文章的处理逻辑,从组成上看可以分为三个部分:
需求:加载并解析xml文件中的数据,完成数据处理,并在页面展示 ①XML文件 xml文件放resources目录下 在pom.xml文件中引入dom4j的依赖,用于解析XML文件
题目描述:给你一个整数数组 nums 和一个整数 k。如果某个连续子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中 「优美子数组」 的数目。 方法1:哈希表,i次循环处理每一个数,用一个数记录第i个数与第i个数之前奇数数字个数,用一个哈希表存储第i个数之前所有可
题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 方法1:哈希表,key为nums[i],value为i,一边遍历一边
题目描述:给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。子数组是数组中元素的连续非空序列。 方法1:前缀和+哈希表,i次循环处理每一个数,用一个数记录第i个数的前缀和,用一个哈希表存储第i个数之前所有数的不同前缀和以及其出现的次数,只要(第i个数的