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

笔试——Day39

文章目录

  • 第一题
    • 题目
    • 思路
    • 代码
  • 第二题
    • 题目
    • 思路
    • 代码
  • 第三题
    • 题目
    • 思路
    • 代码

第一题

题目

神奇的字母(二)

在这里插入图片描述

思路

哈希表统计字符串中每个字母出现的次数

代码

#include<iostream>
#include<string>using namespace std;int main()
{string s;int hash[26] = {0};char res;int maxCount = -1;while(cin >> s){for(auto &e : s){hash[e - 'a']++;if(hash[e - 'a'] > maxCount){res = e;maxCount = hash[e - 'a'];}}}cout << res << endl;return 0;
}

第二题

题目

字符编码

在这里插入图片描述

思路

哈夫曼编码,求最短编码长度,利用小堆进行处理

代码

#include <functional>
#include <iostream>
#include <queue>
#include <vector>
using namespace std;int main() 
{string s;while (cin >> s) { int hash[300] = {0};for(auto &e : s){hash[e]++;}priority_queue<int, vector<int>, greater<int>> pq;for(auto &e : hash){if(e) pq.push(e);}int res = 0;while(pq.size() > 1){int a = pq.top(); pq.pop();int b = pq.top(); pq.pop();res += (a + b);pq.push(a + b);}cout << res << endl;}return 0;
}
// 64 位输出请用 printf("%lld")

第三题

题目

最少的完全平方数

在这里插入图片描述

思路

动态规划

代码

#include <cstring>
#include <iostream>
using namespace std;const int N = 1e4 + 10;
int dp[N];
int n;int main()
{   // dp[i][j]表示:从前i个数中挑选(1 2 4 9 16...),恰好为j时,最少挑选出几个数// 状态转移方程:// 不选第i个数,dp[i][j] = dp[i - 1][j]// 选第i个数1个,dp[i][j] = dp[i - 1][j - i * i] + 1// 选第i个数2个,dp[i][j] = dp[i - 1][j - 2 * i * i] + 2// ...// 所有选的可能,dp[i][j] = dp[i][j - i * i] + 1cin >> n;memset(dp, 0x3f, sizeof dp);dp[0] = 0;for(int i = 1; i <= n; i++){for(int j = i * i; j <= n; j++){dp[j] = min(dp[j], dp[j - i * i] + 1);}}cout << dp[n] << endl;return 0;
}
http://www.dtcms.com/a/332473.html

相关文章:

  • Lecture 10: Concurrency 3
  • Midjourney绘画创作入门操作
  • 项目管理工具
  • 数据结构初阶:排序算法(二)交换排序
  • 第5节 循环神经网络 RNN(Recurrent Neural Network)
  • 基于多模型的零售销售预测实战指南
  • day31 UDP通信
  • 数据结构初阶(15)排序算法—交换排序(快速排序)(动图演示)
  • Android 欧盟网络安全EN18031 要求对应的基本表格填写
  • 【CUDA 编程思想】FusedQKVProj-分组量化矩阵乘法高效实现全流程解析
  • 思考:高速场景的行星轮混动效率如何理解
  • 读《精益数据分析》:黏性(Stickiness)—— 验证解决方案是否留住用户
  • STM32L051同时处理Alarm A和Alarm B中断
  • 【机器人-基础知识】ROS1和ROS2对比
  • 一周学会Matplotlib3 Python 数据可视化-绘制误差条形图
  • 自定义View学习记录之 滚动抽奖单片
  • 前端性能优化工具Performance面板实战指南
  • 为什么 /deep/ 现在不推荐使用?
  • Webpack详解
  • HTML 常用标签介绍
  • 经典回顾:Hive执行原理、MapReduce执行流程、Spark执行流程
  • html抽奖功能
  • Apache 如何支持SHTML(SSI)的配置方法
  • 更换cmd背景图片
  • C++ 优选算法 力扣 1004. 最大连续1的个数 II 滑动窗口 (同向双指针)优化 每日一题 详细题解
  • 【Java Web 快速入门】十、AOP
  • 活到老学到老之Jenkins Pipeline Job
  • spring-ai-alibaba 学习(二十五)——graph之内置节点
  • Linux815 shell:while
  • Spring Boot接口签名校验设计与实现