当前位置: 首页 > news >正文

哪个网站是专门做封面素材网络公司网站asp

哪个网站是专门做封面素材,网络公司网站asp,网站开发具体是干什么的,网站运营课程一、贪心算法理论基础 在问题的每个决策阶段#xff0c;都选择当前看起来最优的选择#xff0c;即贪心地做出局部最优的决策#xff0c;以期获得全局最优解。 最好用的策略就是举反例#xff0c;如果想不到反例#xff0c;那么就试一试贪心吧。 动态规划和贪心的区别 …一、贪心算法理论基础 在问题的每个决策阶段都选择当前看起来最优的选择即贪心地做出局部最优的决策以期获得全局最优解。 最好用的策略就是举反例如果想不到反例那么就试一试贪心吧。 动态规划和贪心的区别 动态规划会根据之前阶段的所有决策来考虑当前决策并使用过去子问题的解来构建当前子问题的解。贪心算法不会考虑过去的决策而是一路向前地进行贪心选择不断缩小问题范围直至问题被解决。 二、分发饼干 class Solution {public int findContentChildren(int[] g, int[] s) {//先排序形成升序数组Arrays.sort(g);Arrays.sort(s);int m g.length, n s.length;int count 0;for(int i 0, j 0; i m j n; i,j){//当前饼干无法满足孩子胃口饼干大小递增while(j n g[i] s[j]){j;}// g[i] s[j]表示饼干能满足孩子胃口if(j n){count;}}return count;} }三、摆动序列 在循环遍历数组nums的过程中我们通过比较当前数字和前一个数字的大小关系来确定当前位置是上升摆动还是下降摆动。 如果当前数字大于前一个数字说明出现了上升摆动。我们更新up的值为down 1表示当前位置上升摆动序列的最大长度因为上升摆动的前一个数字应该是下降摆动序列的最大长度。如果当前数字小于前一个数字说明出现了下降摆动。我们更新down的值为up 1表示当前位置下降摆动序列的最大长度因为下降摆动的前一个数字应该是上升摆动序列的最大长度。 通过不断更新up和down我们可以找到整个数字序列中的最长摆动子序列的长度。 最后返回down和up中的最大值即为最长摆动子序列的长度。 ps这里的上升和下降其实针对的是序列的尾部两个元素来说的之前的元素一定都是摆动的序列 class Solution {public int wiggleMaxLength(int[] nums) { //up 和 down 初始化为1因为一旦找到上升或下降序列一定是两个元素1刚好为2int down 1, up 1; //for (int i 1; i nums.length; i) {if (nums[i] nums[i - 1])up down 1;else if (nums[i] nums[i - 1])down up 1;}return nums.length 0 ? 0 : Math.max(down, up);} }四、最大子序和 public class Solution {public int maxSubArray(int[] nums) {int len nums.length; // 1.dp[i] (对应子问题的解) 表示以 nums[i] 结尾的连续子数组的最大和int[] dp new int[len];dp[0] nums[0]; //2.初始状态for (int i 1; i len; i) {if (dp[i - 1] 0) {dp[i] dp[i - 1] nums[i];//3.状态转移方程} else {dp[i] nums[i];//3.状态转移方程}}// 也可以在上面遍历的同时求出 res 的最大值这里我们为了语义清晰分开写大家可以自行选择int res dp[0];for (int i 1; i len; i) {res Math.max(res, dp[i]);}return res;} }五、零钱兑换(动态规划) 这个题在一定条件下可以使用贪心但是全部情况的还是要用动态规划做这个题体验动态规划和贪心算法的区别 只问最优值没要求最优解一般情况下可以使用动态规划解决 import java.util.Arrays;public class Solution {public int coinChange(int[] coins, int amount) { // 给 0 占位因为索引从0开始所以dp[amount]对应长度为amount 1 //用于存储凑齐每个金额所需的最少硬币数量int[] dp new int[amount 1];// 注意因为要比较的是最小值这个不可能的值就得赋值成为一个最大值(amount 1)用于dp[i]表示无法凑齐对应金额。Arrays.fill(dp, amount 1);// 理解 dp[0] 0 的合理性单独一枚硬币如果能够凑出面值符合最优子结构 //将dp[0]初始化为0表示凑齐金额0所需的最少硬币数量为0。dp[0] 0; //然后使用两个嵌套的循环进行动态规划计算。外层循环从1到amount遍历所有可能的金额。 //内层循环遍历硬币数组coins中的每个硬币判断是否可以使用当前硬币凑齐金额i。 //如果可以凑齐即i - coin 0并且凑齐i - coin金额所需的最少硬币数量不为amount 1表示可以凑齐则更新dp[i]为dp[i - coin]和dp[i]的较小值加1表示使用当前硬币后的最少硬币数量。通过上述循环我们得到了凑齐每个金额所需的最少硬币数量。for (int i 1; i amount; i) {for (int coin : coins) {if (i - coin 0 dp[i - coin] ! amount 1) {dp[i] Math.min(dp[i], 1 dp[i - coin]);}}}//最后判断dp[amount]是否等于amount 1如果等于则表示无法凑齐金额amount将其赋值为-1。if (dp[amount] amount 1) {dp[amount] -1;} //返回dp[amount]作为结果即为凑齐金额amount所需的最少硬币数量如果无法凑齐则为-1。return dp[amount];} }
http://www.zqtcl.cn/news/185583/

相关文章:

  • 做外贸最适合的网站系统有可以做国外支付系统的网站吗
  • 建设执业资格注册中心网站办事大厅ui设计素材库
  • 个人网站免费建站4399电脑版网页链接
  • 重庆开县网站建设公司推荐网站建设与维护高职
  • 关于网站开发的技术博客海口网站设计建设
  • xx市院门户网站建设方案做视频特技的网站
  • 肇庆seo公司咨询23火星seo 网站
  • 天元建设集团有限公司破产新手seo网站做什么类型好
  • spa.net网站开发二次开发需要什么
  • 如何做网站静态页面商丘网签查询
  • 网站建设好学么模版型网站是怎样的
  • 网站维护建设费应计入科目高端营销型网站制作
  • 推荐几个好的网站wordpress 加载数据库表格也卖弄
  • 承德网站开发找人做网站安全吗
  • 百度网站推广电话眼镜网站怎么做竞价
  • 邢台建设银行官方网站为什么建设网站很多公司没有
  • 闵行做网站费用湖南正规网络营销哪家便宜
  • 找个公司做网站需要注意什么wordpress用户名长度
  • 推荐几个没封的正能量网站营销技巧和营销方法视频
  • html mip 网站桂林市临桂区
  • 做网站如何月入10万建行app怎么注册登录
  • 建设一个旅游网站毕业设计建设网站的功能定位是什么原因
  • wordpress网站导航模板杭州建设网站的公司
  • 如何做视频解析网站wordpress 关闭评论
  • 安福网站建设微信开发者工具怎么下载
  • 网罗设计网站威海网页设计制作公司
  • 网站用cmswordpress插件怎么做
  • 如何办好公司网站元器件网站搭建
  • 建设领域行政处罚查询网站wordpress数据库发文章
  • 怎么做网页的多开器宿迁seo优化