主页

分发糖果

题目描述 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。 示例 1: 输入:ratings = [1,0,2] 输出:5 解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。 示例 2: 输入:ratings = [1,2,2] 输出:4 解释:你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。 提示: $n = ratings.length$ $1 <=...

阅读更多

分发饼干

题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标尽可能满足越多数量的孩子,并输出这个最大数值。 示例 1: 输入: g = [1,2,3], s = [1,1] 输出: 1 解释: 你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。 虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。 所以你应该输出1。 示例 2: 输入: g = [1,2], s = [1,2,3...

阅读更多

四数之和

题目描述 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a],nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 <= a, b, c, d < n a、b、c 和 d 互不相同 nums[a] + nums[b] + nums[c] + nums[d] == target 你可以按 任意顺序 返回答案 。 示例 1: 输入:nums = [1,0,-1,0,-2,2], target = 0 输出:[[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]] 示例 2: 输入:nums = [2,2...

阅读更多

Effective Go

本文翻译自Effective Go,语句不太通顺,也可能有某些错误,欢迎指正! Go代码规范 Getter go不提供自动的getter和setter,你可以自己提供。需要注意的是,如果你有一个字段owner【小写,不导出的】,那么getter方法应该是Owner() 【大写,导出的】而不是GetOwner(),setter方法为常见的SetOwner()。 examples: owner := obj.Owner() if owner != user { obj.SetOwner(user) } Interface Names 单一方法接口由方法名称加上-er后缀或类似的修饰来构造名词:Reader,Writer,Formatter,CloseNotifier...

阅读更多

Welcome

欢迎来到我的博客,我是一名飞行员,写了点乱七八糟的东西,记录下来以免遗忘。

阅读更多