2021-09-09:企鹅厂活动发文化衫,文化衫有很多种,企鹅们都穿文化衫。采访中,企鹅会说还有多少企鹅跟他穿一种文化衫。有些企鹅没被采访到,将这些回答放在answers数组里,返回活动中企鹅的最少数量。

福大大 答案2021-09-09:

排序。假设数字x有count个。(x+count)/(x+1)(x+1),这是数字x计算后的人数。对不同x计算后的人数求和,就是需要的返回值。
比如[1,1,1,2,2,2,2],(1+3)/2
2=4,(2+4)/3*3=6。4+6=10就是需要的返回值。
时间复杂度:排序的。
空间复杂度:排序的。
如果数组本身有序:
时间复杂度:O(N)。
空间复杂度:O(1)。

代码用golang编写。代码如下:

package main

import (
"fmt"
"sort"
) func main() {
arr := []int{1, 1, 1, 2, 2, 2, 2}
ret := numRabbits(arr)
fmt.Println(ret)
} // 三道题如下:
// 微信面试题
// 题目一:
// 股民小 A 有一天穿越回到了 n 天前,他能记住某只股票连续 n 天的价格;他手上有足够多的启动资金,他可以在这 n 天内多次交易,但是有个限制
// 如果已经购买了一个股票,在卖出它之前就不能再继续购买股票了。
// 到 n 天之后,小 A 不能再持有股票。
// 求问 这 n 天内,小 A 能够获得的利润的最大值
// 如果不需要手续费的话,求最大的利润
// function(number) {
// return number
// }
// 输入: prices = [3, 1, 2, 8, 5, 9]
// 输出: 11
//
// 题目二:
// 企鹅厂每年都会发文化衫,文化衫有很多种,厂庆的时候,企鹅们都需要穿文化衫来拍照
// 一次采访中,记者随机遇到的企鹅,企鹅会告诉记者还有多少企鹅跟他穿一种文化衫
// 我们将这些回答放在 answers 数组里,返回鹅厂中企鹅的最少数量。
// 输入: answers = [1] 输出:2
// 输入: answers = [1, 1, 2] 输出:5
// Leetcode题目:https://leetcode.com/problems/rabbits-in-forest/
//
// 题目三:
// WXG 的秘书有一堆的文件袋,现在秘书需要把文件袋嵌套收纳起来。请你帮他计算下,最大嵌套数量。
// 给你一个二维整数数组 folders ,其中 folders[i] = [wi, hi] ,表示第 i 个文件袋的宽度和长度
// 当某一个文件袋的宽度和长度都比这个另外一个文件袋大的时候,前者就能把后者装起来,称之为一组文件袋。
// 请计算,最大的一组文件袋的数量是多少。
// 实例
// 输入:[[6,10],[11,14],[6,1],[16,14],[13,2]]
// 输出: 3 // 题目一,股票系列专题,大厂刷题班15节
// 题目三,最长递增子序列专题,大厂刷题班第9节
// 我们来讲一下题目二
func numRabbits(arr []int) int {
if len(arr) == 0 {
return 0
}
sort.Ints(arr)
x := arr[0]
c := 1
ans := 0
for i := 1; i < len(arr); i++ {
if x != arr[i] {
ans += ((c + x) / (x + 1)) * (x + 1)
x = arr[i]
c = 1
} else {
c++
}
}
return ans + ((c+x)/(x+1))*(x+1)
}

执行结果如下:


左神java代码

2021-09-09:企鹅厂活动发文化衫,文化衫有很多种,企鹅们都穿文化衫。采访中,企鹅会说还有多少企鹅跟他穿一种文化衫。有些企鹅没被采访到,将这些回答放在answers数组里,返回活动中企鹅的最少数的更多相关文章

  1. 2021.12.09 [HEOI2016/TJOI2016]排序(线段树+二分,把一个序列转换为01串)

    2021.12.09 [HEOI2016/TJOI2016]排序(线段树+二分,把一个序列转换为01串) https://www.luogu.com.cn/problem/P2824 题意: 在 20 ...

  2. 2021.11.09 P4824 [USACO15FEB]Censoring S与P3121 [USACO15FEB]Censoring G(KMP&&AC自动机)

    2021.11.09 P4824 [USACO15FEB]Censoring S与P3121 [USACO15FEB]Censoring G(KMP&&AC自动机) https://w ...

  3. 2021.11.09 P2292 [HNOI2004]L语言(trie树+AC自动机)

    2021.11.09 P2292 [HNOI2004]L语言(trie树+AC自动机) https://www.luogu.com.cn/problem/P2292 题意: 标点符号的出现晚于文字的出 ...

  4. 2021.11.09 P3426 [POI2005]SZA-Template(KMP+DP)

    2021.11.09 P3426 [POI2005]SZA-Template(KMP+DP) https://www.luogu.com.cn/problem/P3426 题意: 你打算在纸上印一串字 ...

  5. 2021.11.09 P3435 [POI2006]OKR-Periods of Words(KMP)

    2021.11.09 P3435 [POI2006]OKR-Periods of Words(KMP) https://www.luogu.com.cn/problem/P3435 题意: 对于一个仅 ...

  6. 2021.07.09 K-D树

    2021.07.09 K-D树 前置知识 1.二叉搜索树 2.总是很长的替罪羊树 K-D树 建树 K-D树具有二叉搜索树的形态,对于每一个分类标准,小于标准的节点在父节点左边,大于标准的节点在父节点右 ...

  7. 2021.08.09 P5658 括号树(树形结构)

    2021.08.09 P5658 括号树(树形结构) [P5658 CSP-S2019] 括号树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 太长,在链接中. 分析及代码 ...

  8. 2021.08.09 P4868 Preprefix sum(树状数组)

    2021.08.09 P4868 Preprefix sum(树状数组) P4868 Preprefix sum - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 前缀和(pr ...

  9. 2021.08.09 P6037 Ryoku的探索(基环树)

    2021.08.09 P6037 Ryoku的探索(基环树) P6037 Ryoku 的探索 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.树的性质 2.基环树的性质 ...

  10. 2021.08.09 P7238 迷失森林(树的直径)

    2021.08.09 P7238 迷失森林(树的直径) P7238 「DCOI」迷失森林 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.树的直径两种求法:两次dfs.树 ...

随机推荐

  1. C++编码注意事项

    1. vector,string不能按位赋值(vector用push_back, string用重载"+"号)

  2. (续)关于jsp的小细节们

    (续集) 细节四:在浏览界面,点击主键对应的数据时,会跳转到其详细信息界面 这样就实现跳转详情页面啦!(jsp再进入一个servlet文件,获取到当前主键的值,然后再传回到另一个jsp文件,就可以实现 ...

  3. 设计模式(二十八)----综合应用-自定义Spring框架-Spring简单回顾

    1 spring使用回顾 自定义spring框架前,先回顾一下spring框架的使用,从而分析spring的核心,并对核心功能进行模拟. 数据访问层.定义UserDao接口及其子实现类 public ...

  4. 为什么wait()需要在同步代码块内使用

    我们还是通过源代码和代码注释来学习这个问题 我们先来看看wait方法的注释,这里截取最根源的native方法给的注释 Causes the current thread to wait until e ...

  5. instanceof 的原理

    涉及面试题: instanceof 的原理是什么? instanceof 可以正确的判断对象的类型,因为内部机制是通过判断对象的原型链中是不是 能找到类型的 prototype 实现一下 instan ...

  6. 集合-LinkedList 源码分析(JDK 1.8)

    1.概述 LinkedList 是 Java 集合框架中一个重要的实现,其底层采用的双向链表结构.和 ArrayList 一样,LinkedList 也支持空值和重复值.由于 LinkedList 基 ...

  7. selenium验证码处理之机器学习(光学识别ocr技术获取验证码的数据)

    ocr识别库地址: https://github.com/UB-Mannheim/tesseract/wiki 遇到的问题:百度的解释------------------- 遇到的问题2:

  8. Etherscan本地多文件开源(VScode)

    项目创建 创建文件夹  mkdir Duckereum ​ cdDuckereum 添加nodejs配置  npm init -y 安装依赖添加  npm install -D hardhat npm ...

  9. IOC创建对象方式

    IOC创建对象方式 User 类  public class User {  private String name;          public User(String name) {      ...

  10. 自建kms2种方法,亲测有效

    你还在用网上那种坑爹的Ghost盗版系统吗?内置各种辣鸡.流氓软件,新系统?纯净版Ghost系统?不存在的~ 在开始自建KMS服务器之前,我觉得很有必要给大家分享一个神站,没错就是MSDN! 地址:h ...