算法奇妙屋(三十九)-贪心算法学习之路 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();
    }
}
相关推荐
AI人工智能+电脑小能手13 分钟前
大白话说Java设计模式-38-迭代器模式(业务实战篇)
java·设计模式·迭代器模式·stream·遍历封装·集合通用·分页遍历
QQ_216962909616 分钟前
【源码编号:project86570】SpringBoot电影院在线选座售票系统:电影排片、在线选座、订单购票、后台管理完整实战
java·spring boot·后端
金幄科技27 分钟前
RAG第四篇:重排序 Rerank——粗召回之后,为什么还需要一次精排
人工智能·算法·ai·ai编程
M78佐菲33 分钟前
Linux学习笔记:文件IO
linux·笔记·学习·算法
谢亮_vipxieliang37 分钟前
手机号验证技术方案:号段规则与正则表达式
java·服务器·spring boot·正则表达式·hibernate
吃好睡好便好42 分钟前
转换函数的使用
学习·matlab·生活·转换函数
wang09071 小时前
自己动手写一个tomcat之7监听器和过滤器
java·tomcat
梅孔立1 小时前
Pi-Agent 终极极简配置文档(Java+Vue+Python爬虫 4-5千文件项目)
java·vue.js·python
Vcaker1 小时前
Linux学习22-openstack部署与使用
linux·运维·学习
Query*1 小时前
Agent 开发之项目 AI Native 化:通过大模型与 RAG 赋予产品智能能力
java·人工智能·ai