02 2020 档案
摘要:1.菱形问题: 解析: 主要通过打印空格和星形来打印整个图形,将整体分为=上三角形+下三角形 首先观察上三角形可以发现:第一行2个空格1个星、第二行1个空格3个星、第三行0个空格5个星 空格数:2-->1-->0 、星数:1-->3-->5 代码: #include <bits/stdc++.h>
阅读全文
摘要:先看题目: 意思:将一个十进制数进行负二进制转化,将一个十进制数进行二进制转化大家都很清楚,取余再除2向下取整,接着反序输出 负二进制转化类似:1.对-2取余,再取绝对值 2.存入结果数组里 3.将数减去余数再除-2 4.反顺序打印出来 代码: //负二进制转换 /* 道理与 十进制转二进制一样 注
阅读全文
摘要:进制转化类题目类型: 代码详解及注释解答: //进制转化问题 #include <bits/stdc++.h> using namespace std; int main(){ // 1.反序数 123->321 // int n; // int sn = 0;//存取反序数 // scanf("%
阅读全文
摘要:1.题一 #include <stdio.h> int main(){ int n, sum=0; scanf("%d", &n); if( n<=100 ){ while( n>0 ){ sum += n; n--; } } printf("%d\n", sum); return 0; } 2.题
阅读全文
摘要:1.vector 2.queue 3.stack 4.map 5.set 6.多组输入输出问题 详解见代码以及注释: //学习STL的使用 #include <bits/stdc++.h> using namespace std; int main(){ // 1.使用vector // vecto
阅读全文
摘要:1.排序sort函数: 2.查找: 实例: 3. 队列:
阅读全文
摘要:题目A: 大家思路有可能是这样: 将输入数据全部存储到一个数组里,然后可以冒泡排序一波,从小到大排序 那么怎么找到重复次数呢:我是这样想的,新定义数组b,原数组a,首先b[0] = a[0],定义指针i指向数组a,j指向原数组b,初值都是0,如果a[i] == b[j],是重复元素,那么i++,co
阅读全文
摘要:螺旋数组题目: 解析:每个人的想法肯定差不多都是顺时针画 1.先画1 2 3 4 (n个数) 2.再画5 6 7 (n-1个数) 3.再画8 9 10 (n-1个数) 4.再画11 12 (n-2个数) 思考一下:一共有几圈 == 应该画几次,2圈对吧,拓展一下就是(n/2+1)(不论奇偶,其实n是
阅读全文
摘要:1.题(一) 解析: 只需要知道一个三位数k:个位 = k%10 十位 = k/10%10 百位 = k/100 代码: #include<iostream> using namespace std; int main() { for(int i=100; i<1000; i++){ int gew
阅读全文
摘要:1.题(一) 代码: #include <iostream> #include <iomanip> #include <math.h> #include <string.h> using namespace std; int main(){ int w[17] = { 7,9,10,5,8,4,2,
阅读全文
摘要:主要分为几个部分:opencv入门+tensorflow入门、穿插numpy+matplotlib入门知识、最后来一个股票小案例 1.安装tensorflow1.10和opencv3.3.1: 安装tensorflow和opencv: pip install --upgrade --ignore-i
阅读全文
摘要:(一)题1: 解题思路:通过二维数组存取输入数据,之后通过一个函数判断是否存在'E''A''S''Y'四个字母,最后根据返回值打印difficult/easy 如何判断:传入二维数组的每一行(一行等于一个输入数据),定义2个指针,然后while循环读取 代码: #include <iostream>
阅读全文
摘要:1.setfill/setw使用 2.定义结构体 3.关于字符串读取 4.排序问题:复试不要求一般用:冒泡排序 5.数字和字符之间转换 6.进制转化:10进制转8进制 7.质数判断 8.字符串拷贝函数strcpy 9.字符串拼接函数strcat 10.字符串比较函数strcmp 11.计算字符串长度
阅读全文
摘要:个人算法笔记: STL:标准模板库 Standard Template Library STL概述: 序列式容器:数据无序 vector数组 list双向链表 deque双向动态队列 关系式容器:数据有序 map set multimap multiset 容器都有的功能:增删改查 容器都有的函数:
阅读全文
摘要:问题描述: 2.问题分析:可以知道满足一个递归式 定义:B(i, j):i代表还有几件商品可以偷 j代表还剩下的背包空间是多少 例如: 如果是B(4,20)代表:有4件商品可以偷取,背包剩余空间还有20———>一系列计算————>26 3.定义B数组: 4.代码演示: #include <iostr
阅读全文
摘要:动态规划: 使用动态规划:重叠子问题 最优值,最佳解 斐波那契数列问题:如果递归解决需要重复算很多次fib(5) 解决:使用一个数组把每次算过的存起来,下次再用直接调值 例题: 问题描述: 解答: #include <iostream> #include <iomanip> #include <ma
阅读全文
摘要:A星寻路: 结构:N叉树 直线代价斜线代价:符合勾股定理 代价:每走一步,距离终点所付出的 计算公式:f = g + h + w; f : 当前点到终点的代价 g : 起点到当前点的代价 h : 当前点到终点的预估代价(只计算直线距离,并忽略障碍) w : 权重 路: 平地 上坡路 丘陵 沼泽 坑
阅读全文
摘要:广度寻路算法思路: 遍历整个地图中所有可以走的点 并且将其存入到一颗四叉树里 之后从起点开始搜索这棵树查找终点即可 1.各种类型定义: //点类型 struct MyPoint{ int row; int col; }; //方向枚举 enum direct{p_up,p_down,p_left,p
阅读全文
摘要:深度寻路算法: 二维地图:二维数组 二维数组上标识特定数值作为地图上对象 应用于RGB游戏中比较广泛 缺点:1.二维地图,只可以走直线 2.不一定能找到最佳路径 怎么寻路: 1.一个方向只能试探一次 顺时针: 上 右 下 左 逆时针: 上 左 下 右 2.需要标记已经走过,走过了的不能再走 深度寻路
阅读全文
摘要:有序二叉树: 二叉树:每个节点有且只有2个孩子 有序二叉树:左孩子<根<右孩子(升序二叉树) 左孩子>根>右孩子(降序二叉树) 叶子节点:没有孩子的节点 有序二叉树节点定义:(数据+左孩子+右孩子) template<class T> class Tree{ struct Node{ T data;
阅读全文
摘要:N叉树: 一棵树有多个分叉 森林:多棵树 节点:树中的元素,子树 枝干,叶子节点,路径长度 层:根节点到某些结点的路径长度相同,同一层 N叉树的C++定义: 实现一颗N叉树至少需要三个指针:向上,向右,向下 代码实现N叉树定义: template<class T> class MyTree{ T d
阅读全文
摘要:二分查找:有序数组按照二分方式来查找数据 递归方法: //递归方式: int mid = l + (r-l)/2;//中间 if(l==r) return -1;//没有找到的情况 if(finddata==a[mid]) return mid; if(finddata>a[mid]) return
阅读全文
摘要:分治思想:分而治之 归并排序:递归的拆分+合并 合并:两个有序数组合并为一个有序数组 1.准备临时数组 2.将数据元素依序放到临时数组中 3.将数据元素从临时数组拷贝回到原数组中,释放临时数组 代码演示: #include<iostream> #include<vector> #include<st
阅读全文
摘要:排序算法:shell排序/基数排序/桶排序 shell排序: 1.优化后的插入排序 2.按步长step分组:步长一开始设置为元素个数/2 3.组内插入排序 4.步长=步长/2 基数排序: 1.创建临时数组 2.初始化临时数组 3.临时数组排序 4.将临时数组值赋值回原数组 5.delete临时数组
阅读全文
摘要:STL:标准模板库Standard Template Library STL: 序列式容器:数据无序 vector数组 list双向链表 deque双向动态队列 关系式容器:数据有序 map set multimap multiset 容器都有的功能:增删改查 容器都有的函数: 构造、析构、插入、删
阅读全文
摘要:1.获取大页面下各个分类的小URL合集 from bs4 import BeautifulSoup import requests start_url = 'http://bj.58.com/sale.shtml' url_host = 'http://bj.58.com' def get_inde
阅读全文