【复习16-18天】【我们一起60天准备考研算法面试(大全)-第二十四天 24/60】

专注 效率 记忆
预习 笔记 复习 做题

欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)
 
文章字体风格:
红色文字表示:重难点★✔
蓝色文字表示:思路以及想法★✔
 
如果大家觉得有帮助的话,感谢大家帮忙
点赞!收藏!转发!

本博客带大家一起学习,我们不图快,只求稳扎稳打。
由于我高三是在家自学的,经验教训告诉我,学习一定要长期积累,并且复习,所以我推出此系列。
只求每天坚持40分钟,一周学5天,复习2天
也就是一周学10道题
60天后我们就可以学完81道题,相信60天后,我们一定可以有扎实的代码基础!我们每天就40分钟,和我一起坚持下去吧!
qq群:878080619

第二十四天【考研408-数据结构(笔试)】

  • 十四、摩尔投票法
    • 1. 数组中出现次数超过一半的数字
  • 十五、DFS
    • 1. 全排列( 北京大学考研机试题 )
    • 2. 八皇后( 北京大学考研机试题 )
  • 二十二、高精度
    • 1. N的阶乘
      • 做法:预处理
    • 2. 基本算术
    • 3. 整数查询

十四、摩尔投票法

1. 数组中出现次数超过一半的数字

在这里插入图片描述

class Solution {
public:int moreThanHalfNum_Solution(vector<int>& nums) {int cnt = 0, val;for (auto x: nums) {if (!cnt) val = x, cnt ++ ;else if (x == val) cnt ++ ;else cnt -- ;}return val;}
};

十五、DFS

1. 全排列( 北京大学考研机试题 )

在这里插入图片描述

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 10;int n;
char str[N], path[N];
bool st[N];void dfs(int u)
{if (u == n) cout << path << endl;else{for (int i = 0; i < n; i ++ )if (!st[i]){path[u] = str[i];st[i] = true;dfs(u + 1);st[i] = false;}}
}int main()
{cin >> str;n = strlen(str);dfs(0);return 0;
}

2. 八皇后( 北京大学考研机试题 )

在这里插入图片描述

#include<iostream>using namespace std;const int N = 100;int g[N][N];
bool l[N*2],ll[N*2],lll[N*2];
int d[N],idx;
int n;void dfs(int u,int sum)
{if(u>8){d[++idx] = sum;}else{for(int i = 1; i <= 8; i++){if(l[i] == false && ll[i+u] == false && lll[i-u+9] == false){l[i] = true;lll[i-u+9] = true;ll[i+u] = true;dfs(u+1,sum*10+i);l[i] = false;lll[i-u+9] = false;ll[i+u] = false;}}}
}int main()
{cin >> n;dfs(1,0);while(n--){int x;cin >> x;cout << d[x] << endl;}return 0;
}

高精度计算核心就是

通过数组模拟出草稿纸上的运算过程

具体逻辑可以搜csdn

二十二、高精度

1. N的阶乘

在这里插入图片描述

做法:预处理

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>using namespace std;const int N = 1010;vector<int> F[N];vector<int> mul(vector<int>& A, int b)
{vector<int> C;for (int i = 0, t = 0; i < A.size() || t; i ++ ){if (i < A.size()) t += A[i] * b;C.push_back(t % 10);t /= 10;}return C;
}int main()
{int n;F[0] = {1};for (int i = 1; i <= 1000; i ++ ) F[i] = mul(F[i - 1], i);while (cin >> n){for (int i = F[n].size() - 1; i >= 0; i -- )cout << F[n][i];cout << endl;}return 0;
}

2. 基本算术

在这里插入图片描述

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>using namespace std;int add(vector<int>& A, vector<int>& B)
{int res = 0;for (int i = 0, t = 0; i < A.size() || i < B.size() || t; i ++ ){if (i < A.size()) t += A[i];if (i < B.size()) t += B[i];t /= 10;res += t;}return res;
}int main()
{string a, b;while (cin >> a >> b, a != "0" || b != "0"){vector<int> A, B;for (int i = a.size() - 1; i >= 0; i -- ) A.push_back(a[i] - '0');for (int i = b.size() - 1; i >= 0; i -- ) B.push_back(b[i] - '0');int res = add(A, B);if (!res) puts("No carry operation.");else if (res == 1) puts("1 carry operation.");else printf("%d carry operations.\n", res);}return 0;
}

3. 整数查询

在这里插入图片描述

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>using namespace std;vector<int> add(vector<int>& A, vector<int>& B)
{vector<int> C;for (int i = 0, t = 0; i < A.size() || i < B.size() || t; i ++ ){if (i < A.size()) t += A[i];if (i < B.size()) t += B[i];C.push_back(t % 10);t /= 10;}return C;
}int main()
{vector<int> A{0};string b;while (cin >> b, b != "0"){vector<int> B;for (int i = b.size() - 1; i >= 0; i -- )B.push_back(b[i] - '0');A = add(A, B);}while (A.size() > 1 && !A.back()) A.pop_back();for (int i = A.size() - 1; i >= 0; i -- )cout << A[i];cout << endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/7627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 全屏设置

全屏按钮调用&#xff08;全屏和退出全屏一个方法&#xff09; tofullscreenToggel(){this.isFullScreen!this.isFullScreenfullscreenToggel() } util方法定义 /*** 浏览器判断是否全屏*/ export const fullscreenToggel () > {if (fullscreenEnable()) {exitFullScree…

【MATLAB】GM(1,1) 灰色预测模型及算法

一、灰色预测模型概念 灰色预测是一种对含有不确定因素的系统进行预测的方法。 灰色预测通过鉴别系统因素之间发展趋势的相异程度&#xff0c;即进行关联分析&#xff0c;并对原始数据进行生成处理来寻找系统变动的规律&#xff0c;生成有较强规律性的数据序列&#xff0c;然后…

Python TypeError: unsupported operand type(s) for +: ‘int‘ and ‘str‘

在键入数值进行相加运算时&#xff0c;报了这样一个错误 类型错误&#xff1a;不支持操作类型为整数和字符串 错误分析&#xff1a;sumsuminput() 未被系统识别&#xff0c;导致程序错误 解决方法&#xff1a;给键入的数值定义&#xff0c;声明为整数 sumsumint(input()) 即…

centos服务器从阿里云同步时间

安装ntpdate yum -y install ntpdate同步一次时间 ntpdate ntp1.aliyun.com使用定时任务同步时间 编辑定时任务&#xff1a; crontab -e添加定时任务&#xff1a; */10 * * * * ntpdate ntp1.aliyun.com查看定时任务&#xff1a; crontab -l查看当前服务器时间 date -R

数据库系统安装、配置及管理与维护

一、安装与配置 数据库系统的安装步骤可能因不同版本和操作系统而有所差异&#xff0c;以下是一般的安装步骤&#xff1a; 下载数据库安装程序。从官方网站或其它可靠来源下载安装程序&#xff0c;确保下载的版本与您的操作系统版本和位数相匹配。运行安装程序。解压缩下载的…

c++--多态

1.多态概念 多态是C面面向对象的三大特性之一&#xff0c;多态需要在继承状态下完成&#xff0c;多态的特性就是面对相同的事情&#xff0c;需要不同的处理&#xff0c;产生不同的结果。 2.多态的条件及实现 多态是在不同的继承关系里&#xff0c;去实现函数名相同的不同实现…

【论文阅读】DEPIMPACT:反向传播系统依赖对攻击调查的影响(USENIX-2022)

Fang P, Gao P, Liu C, et al. Back-Propagating System Dependency Impact for Attack Investigation[C]//31st USENIX Security Symposium (USENIX Security 22). 2022: 2461-2478. 攻击调查、关键边、入口点 开源&#xff1a;GitHub - usenixsub/DepImpact 目录 1. 摘要2. 引…

前端学习——ajax (Day3)

AJAX原理 - XMLHttpRequest 使用 XMLHttpRequest <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&…

消息队列(一)-- RabbitMQ入门(1)

初识 RabbitMQ 核心思想&#xff1a;接收并转发消息。可以把它想象成一个邮局。 producer&#xff1a;生产者 queue&#xff1a;队列 consumer&#xff1a;消费者什么是消息队列 MQ&#xff08;Message Queue&#xff09;&#xff1a;本质是队列&#xff0c;FIFO先入先出&…

【【直流电机驱动PWN】】

直流电机驱动PWN 前面都是沙县小吃&#xff0c;这里才是满汉全席 直流电机是一种电能转化成机械能的装置 直流电机有两个电极 当电机正接 电机正转 当电机负接 电机倒转 电机还有步进电机 舵机 无刷电机 空心杯电机 因为电机是一个大功率器件并不太好直接接在IO端口上所以我…

设备模块调用整合指南

描述 不依赖其它事件管理器,直接引入js,全局事件方法(设备对象名+事件名)处理 #1、引入相关js <script src="./utils/lodash.min.js"></script><script src="config/config.js"></script><script src="./plugins/pl…

脑电信号处理与特征提取——1. 脑电、诱发电位和事件相关电位(胡理)

目录 一、 脑电、诱发电位和事件相关电位 1.1 EEG基本知识 1.2 经典的ERPs成分及研究 1.2.1 ERPs命名规则及分类 1.2.2 常见的脑电成分 1.2.3 P300及Oddball范式 1.2.4 N400成分 一、 脑电、诱发电位和事件相关电位 1.1 EEG基本知识 EEG(Electroencephalogram)&#x…

【Mysql数据库面试01】内连接 左连接 右连接 全连接

【Mysql数据库】内连接 左连接 右连接 全连接 0.准备1.内连接1.1 SQL(不带where)1.2 SQL&#xff08;带where&#xff09;1.3总结 2.左连接2.1SQL&#xff08;不带where&#xff09;2.2SQL&#xff08;带where&#xff09;2.3总结 3.右连接3.1 SQL&#xff08;不带where&#x…

CVPR2023新作:基于面部对称性先验的三维生成对抗网络反演方法

Title: 3D GAN Inversion With Facial Symmetry Prior (带面部对称性先验的3D GAN反演) Affiliation: 清华大学 Authors: Fei Yin, Yong Zhang, Xuan Wang, Tengfei Wang, Xiaoyu Li, Yuan Gong, Yanbo Fan, Xiaodong Cun, Ying Shan, Cengiz Oztireli, Yujiu Yang Keywords…

GDAL C++ API 学习之路 (6) OGRGeometry 几何类 OGRGeometry

Simplify virtual OGRGeometry *Simplify(double dTolerance) const 简化几何图形 参数: dTolerance -- 简化的距离容差。 返回: 简化的几何图形或 NULL&#xff08;如果发生错误&#xff09; // 创建一个多边形对象OGRLinearRing ring;ring.addPoint(0, 0);ring.addPoint…

CNN复习

个人的对于CNN总结的一些知识点 对于每一个卷积层来说&#xff0c;其out_channel就是卷积核的个数&#xff1a; 对每个输入的图片&#xff08;就是每一个&#xff08;C,H,W&#xff09;的矩阵&#xff0c;一共有batch_size个&#xff09;&#xff0c;卷积核从第0到第in_channe…

表单验证:输入的字符串以回车分隔并验证是否有

公司项目开发时&#xff0c;有一个需求&#xff0c;需要对输入的字符串按回车分隔并验证是否有重复项&#xff0c;效果如下&#xff1a; 表单代码&#xff1a; <el-form-item label"IP地址条目&#xff1a;" prop"ipAddressEntry"><el-inputtype&…

Vue中TodoList案例_静态

MyHeader.vue <template><div class"todo-header"><input type"text" placeholder"请输入你的任务名称&#xff0c;按回车键确认"></div> </template><script> export default {name: "MyHeader"…

Vue 中input 点击复制其内容

Element UI中el-input 组件 &#xff0c;一般使用情况&#xff1a; <el-input type"text" id"put" v-model"value" ></el-input> el-input 添加点击事件,这样添加点击事件是无效的&#xff1a; <el-input click"copy&quo…

Linux Shell 脚本编程学习之【第3章 正则表达式 (第一部分)】

第3章 正则表达式 1 正则表达式基础1.1 *符号1.2 “.”符号1.3 “^”符号1.4 “$”符号1.5 “[]”符号1.6 “\”符号1.7 “\<\>”符号1.8 “\{\}”符号 2 正则表达式扩展2.1 “?”符号2.2 “”符号2.3“()”符合和“ | ”符号 3 通配&#xff08;Globbing&#xff09; 1…