算法奇妙屋(三十九)-贪心算法学习之路 6

文章目录

一. 力扣 455. 分发饼干

1. 题目解析

饼干sj >= 胃口gi时, ret++, 求最后ret的最大值

2. 算法原理

3. 代码

java 复制代码
class Solution {
    public int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int i = 0, j = 0, m = g.length, n = s.length, ret = 0;
        while (i < m && j < n) {
            if (s[j] >= g[i]) {
                j++;
                i++;
                ret++;
            }else {
                j++;
            }
        }
        return ret;
    }
}

二. 力扣 553. 最优除法

1. 题目解析

让我们任意添加括号, 来求最大值


2. 算法原理

题目中numsi >= 2, 很关键, 意味着我们可以使用分子最大值的情况, 任意两个数相乘绝对大于原值

3. 代码

java 复制代码
class Solution {
    public String optimalDivision(int[] nums) {
        int n = nums.length;
        StringBuilder ret = new StringBuilder();
        ret.append(nums[0]);
        if (n == 1) {
            return ret.toString();
        }else if (n == 2) {
            ret.append("/");
            ret.append(nums[1]);
            return ret.toString();
        }
        for (int i = 1; i < n; i++) {
            ret.append("/");
            if (i == 1) {
                ret.append("(");
            }
            ret.append(nums[i]);
            if (i == n - 1) {
                ret.append(")");
            }
        }
        return ret.toString();
    }
}
相关推荐
承渊政道29 分钟前
飞算Java炫技赛:Java×Unity数字孪生园区平台的从零落地记录
java·开发语言·unity·技术分享·vibe coding·飞算javaai·飞算java ai炫技赛
wdfk_prog7 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
卓怡学长7 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
私人珍藏库8 小时前
[Android] 会计快题库 -财会职称考试刷题学习
android·人工智能·学习·app·软件·多功能
这个DBA有点耶9 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
csdn2015_10 小时前
springboot读取配置的方法
java·spring boot·spring
AOwhisky10 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
QXWZ_IA11 小时前
1库1图1批是什么?千寻位置公安地图数据体系详解
科技·算法·能源·媒体·交通物流·政务
c2385612 小时前
Bug 猎手入门指南
c++·算法·bug