
笔记
noedn
哇,C-S-D-N你们也太黑了,自动给我文章转成VIP。我写文章是为了记录和分享,与其他人共同进步,营造一个开放共享的技术分享环境,这么搞人心态了啊?
展开
-
C++-笔试编程题常用:getline、cin与cin.ingore
#include<iostream>#include<string>//#include<numeric>//#include<limits>using namespace std;int main(){ string str,str1; cout << "输入:" << endl; getline(cin,str,'\n'); cin >> str1; cin.ignore(std::numeric_原创 2021-09-13 20:42:41 · 295 阅读 · 0 评论 -
基本类型的显式初始化-C++
如果采用不含参数的、明确的构造函数调用语法,基本型别会被初始化为零:#include<iostream>using namespace std;int main(){ int a = int(); float b = float(); double c = double(); string d = string(); char e = char(); cout << a << endl;//0 cout << b << end原创 2021-09-11 22:14:31 · 457 阅读 · 0 评论 -
C++防止头文件重复引用
1、#pragram once#pragma once#include<iostream>using namespace std;class Student{public: Student() { cout << "I am a student." << endl; }};#pragma once#include<iostream>using namespace std;class School{public: Scho原创 2021-09-08 11:09:45 · 275 阅读 · 0 评论 -
内存对齐计算
#include<iostream>using namespace std;struct noedn{ char a; short b; char a1; short b1; int c; char a2; short b2; int c2; double d;}nn{ 0 };int main(){ cout << sizeof(nn) << endl;//32 return 0;}原创 2021-09-04 17:27:07 · 131 阅读 · 0 评论 -
linux面试可能需要的常用操作
1、touch text.txt创建一个空文本2、vi text.txt 或 vim text.c进入文本,vi与vim的区别3、i进入编辑4、esc+:退出编辑5、:wq或:x退出并更新时间;退出有修改才更新时间6、ls -l text.txt显示文本text 访问属性u(user)g(group)o(other) r(read)w(write)x(execute) 修改时间7、chmod ugo+x text.txt增加执行权限8、chmod 777 text.txt各访问原创 2021-08-30 11:09:20 · 197 阅读 · 0 评论 -
getline函数与cin对象---string对象
cin:当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。#include<iostream>#include<string>using namespace std;int main(){ string istr; cin >> istr; cout << istr; return 0;}hello i am from原创 2021-08-18 17:32:51 · 157 阅读 · 0 评论 -
虚函数表示例与解释的链接地址
示例:#include<iostream>using namespace std;class A{public: virtual void vprintA1() { cout << "A1VR" << endl; } virtual void vprintA2() { cout << "A2VR" << endl; } void printA1() { cout << "A1" << e原创 2021-08-11 21:27:39 · 147 阅读 · 0 评论 -
MySQL常用操作
1、显示所有的数据库mysql>show databases;2、选择名为databasename的数据库mysql>use databasename;3、显示选择的数据库当中的所有表格mysql>show tables;4、清屏mysql>system clear;或者快捷键:shift+ctrl+L...原创 2021-07-26 13:39:50 · 257 阅读 · 0 评论 -
MATLAB的switch行为和C语言switch行为不一致,MATLAB不需要break
C++#include<iostream>using namespace std;int main(){ char choice = '1'; switch (choice) { case '1': cout << 1; break; case '2': cout << 2; break; default: cout << 3; }}C#include<stdio.h>void main(){原创 2021-07-05 15:23:29 · 1284 阅读 · 0 评论 -
size()函数的返回值类型为unsigned int直接使用可能存在数据类型转换
在使用.size()函数获取容器大小的时候发现,会存在(-n%vec.size()=m,n<vec.size(),-n!=m)的情况。经过分析发现.size()函数的返回值类型为unsigned int,而被除数的数据类型为int,因此被除数的数据类型被转换为unsigned int型。C++中混合运算的类型转换#include<iostream>#include<vector>using namespace std;int main(){ int a = -4原创 2021-06-26 15:52:08 · 1782 阅读 · 0 评论 -
LeetCode刷题流程:动态规划-股票问题121.122.123.188(非累积,累积,非累积+累积,非累积+多次累积)
动态规划序列含义:dp[持有股票][不持股票]持有股票: 应该为最便宜的股票,(积累问题→\rightarrow→)或者是在上一次(不一定刚刚就是上一支就卖出)交易卖出获得利润之后买入剩下最多的钱;不持股票: 将上一次(不一定刚刚就是上一支就买入)交易买入的股票卖出,能够获得的最大利润。121:整个过程只进行一次交易获得最大利润,因此只需要考虑买入最低价格,卖出最高价格即可。class Solution {public: int maxProfit(vector<int>&原创 2021-05-15 15:49:01 · 146 阅读 · 0 评论 -
LeetCode刷题流程:动态规划-15.139. 单词拆分(可打印状态转移过程完整程序)
Carl大佬的详细解释和答案139.单词拆分题目直接动态规划,之前没有考虑到可能当前位置已经满足,提交之后发现错误。经过打印发现问题,由于当前位置更新可分true和不可分false之后,后来继续分割时可能又不满足了,所以在更新dp[n]的时候应该考虑dp[n]是否为true,因此需要或运算。ac总消耗:4ms 7.3MB本人解答:#include<string>#include<vector>#include<iostream>using namespa原创 2021-05-12 16:06:36 · 235 阅读 · 0 评论 -
LeetCode刷题流程:贪心算法-16.738. 单调递增的数字(to_string和stoi)
738. 单调递增的数字给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出: 299说明: N 是在 [0, 10^9] 范围内的一个整数。局部最优:遇到strNum[i - 1]原创 2021-05-03 10:52:10 · 183 阅读 · 0 评论 -
LeetCode刷题流程:贪心算法-14.763. 划分字母区间
763. 划分字母区间字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。示例:输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8] 解释: 划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。 像 “ababcbacadefegde”,“hijhklij” 的划分是错误的,因为划分的片段数较少。按照前面的 45转载 2021-04-29 15:07:23 · 193 阅读 · 0 评论 -
LeetCode刷题流程:贪心算法-12.452. 用最少数量的箭引爆气球
{{6,7},{4,8},{1,5}} 87 |6 | | 5 4 | | | 1标志:6,4,16—4一箭;1—二箭{{1,5},{6,7},{4,8}}对每一个气球的最低端排序,可以保障每一个气球最低端有序降低,此时通过判断前一个气球的最低端与后一个气球的最高端,就可以判断是否需要增加箭。 8 7 | 6 |5 || 4||1标志:5,7,85—一箭;7—8二箭对每一个气球的最高端排序,可以保障每一个气球最高端有原创 2021-04-28 16:30:07 · 143 阅读 · 0 评论 -
LeetCode刷题流程:贪心算法-11.406. 根据身高重建队列
406. 根据身高重建队列假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。示例 1:输入:people =原创 2021-04-28 11:14:31 · 150 阅读 · 0 评论 -
LeetCode刷题流程:贪心算法-1.455.分发饼干
分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例 1:输入: g = [1,2,3], s = [1,1]输出: 1解释:你有三个孩子和两块小饼干,3个孩子的胃.原创 2021-04-22 10:36:44 · 240 阅读 · 0 评论 -
LeetCode刷题流程:回溯算法-15.37. 解数独
37. 解数独编写一个程序,通过填充空格来解决数独问题。数独的解法需 遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 ‘.’ 表示。示例:输入:board =[[“5”,“3”,".",".",“7”,".",".",".","."],[“6”,".",".",“1”,“9”,“5”,".",".","."],[".",“9”,“8转载 2021-04-20 10:40:22 · 243 阅读 · 0 评论 -
LeetCode刷题流程:回溯算法-13.332. 重新安排行程
332. 重新安排行程给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。提示:如果存在多种有效的行程,请你按字符自然排序返回最小的行程组合。例如,行程 [“JFK”, “LGA”] 与 [“JFK”,“LGB”] 相比就更小,排序更靠前 所有的机场都用三个大写字母表示(机场代码)。假定所有机票至少存在一种合理的行程。所有的机原创 2021-04-19 14:38:44 · 147 阅读 · 0 评论 -
回溯算法-启发式的总结
回溯算法的递归结构就是和满树一样的结构,每个节点都和根节点一样,所有的处理都是嵌套的。当存在一些限制条件的时候,这些限制条件将会限制某些子树的扩展。在回溯算法当中,回溯的过程其实就是从子树回到子树的根节点,子树的根节点重复这个过程,最终回到整个树的根节点。在回溯的过程当中,向子树深度遍历的方向和子树根节点同一层的遍历的方向在处理节点item上是一个正反关系的一个过程。向下遍历item可能存在push_back或者标志位设置为true,而同层水平遍历对应存在pop_back和标志位设置为false。.原创 2021-04-15 11:26:16 · 474 阅读 · 0 评论 -
使用MATLAB绘制动态图像
以下实现是混合高斯分隔两个分部,使左右面积相等的中间参考值仿真代码:close all;clearclc% moviein Initialize movie frame memory.% moviein is no longer needed as of MATLAB Release 11 (5.3). % In previous revisions, pre-allocating a movie increased % performance, but there原创 2021-04-02 21:15:31 · 1747 阅读 · 0 评论 -
告别mex崩溃调试法: 借助visual studio调试
mex是MATLAB运行C/C++代码的一种手段, 一旦完成, 使用方法和普通的MATLAB函数是一样的.之所以使用它, 主要目的是为了提速. 当你使用了一切MATLAB技巧(向量化, 并行循环, profiler等), 速度还是不够快的时候, mex是一个大杀器(当然, 大杀器不能轻易使用 ) , 因为你要用C/C++语言来写, 一般比较花时间, 使用MATLAB的人一般就是看重MATLAB的快速编程优势)mex一般有两种生成方法:第一种, 借助coder, 自动生成mex优势是: 1 快速生成 2转载 2020-12-28 20:32:40 · 549 阅读 · 3 评论 -
伽罗华域上(Galois Field)上的四则运算-笔记
原网页:https://blog.youkuaiyun.com/shelldon/article/details/54729687单位元:a∗e=e∗a=aa*e=e*a=aa∗e=e∗a=a本原多项式:域中不可约多项式是不能够进行因子分解的多项式。1、多项式加减法:(x2+1)+(x+1)=x2+x+1(x^2+1)+(x+1)=x^2+x+1(x2+1)+(x+1)=x2+x+12、多项式乘法:(x2+1)∗(x+1)=(x^2+1)*(x+1)=(x2+1)∗(x+1)=3、多项式除法:(x3−12x原创 2020-12-10 20:52:09 · 2047 阅读 · 0 评论 -
C++ 二叉树的先序,中序,后序遍历-递归与非递归方式
转载:http://aleeee.com/bitreetraveser1.html三种遍历方式都分为递归与非递归的方式。三种遍历方式的递归思想相同。后序遍历非递归方法分为两种,具体见代码。构造方式:#include<iostream>#include<stack>using namespace std;typedef struct BiTNode{ char data; int lvisited,rvisited;//左、右孩子是否访问过,1表示已访转载 2020-12-05 11:46:04 · 195 阅读 · 0 评论 -
C++ 204. 计数质数-标记数据更新方向解释
204. 计数质数统计所有小于非负整数 n 的质数的数量。示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0提示:0 <= n <= 5 * 106题解:方法一:枚举由于最多有y=x∗y/xy=x*y/xy=x∗y/x,所以xxx的取值范围就在[1,sqrt(y)][1,sqrt(y)][1,sqrt(y)]之间。如果大于sqrt(原创 2020-12-03 14:52:05 · 172 阅读 · 0 评论 -
MIMO信号检测MMSE-SIC基于SINR性能相较于MMSE性能提升分析
论文:《Performance of iterative successive detection algorithm with space-time transmission》《Comparison of ordered successive receivers for space-time transmission》假设系统为接收天线M=2,发射天线N=2假设第一个发射天线发射信号检测正确的概率为...原创 2020-11-28 22:45:01 · 2679 阅读 · 0 评论 -
使用CTex排版IEEE论文笔记
一、模板下载下载网站:https://journals.ieeeauthorcenter.ieee.org/create-your-ieee-journal-article/authoring-tools-and-templates/tools-for-ieee-authors/ieee-article-templates/*点击进入之后,选择自己需要的论文模板,然后下载(校园网条件下,校外网未尝试)。二、各级标题*以会议conferences论文演示。标题:一级标题:二级标题:原创 2021-01-15 10:47:27 · 2089 阅读 · 0 评论 -
C++中的Lambda表达式使用
快,自己进去学去转载 2020-12-03 09:04:42 · 282 阅读 · 0 评论 -
C++push_back与emplace_back区别—简单代码实现对比
push_back():#include <iostream>#include<vector>using namespace std;int main(){ int len = 10; vector<int> lint; for (int i = 0; i < len; ++i) { //lint.emplace_back(); lint.push_back(i); } for (int j = 0; j < len; ++j)原创 2020-11-05 16:52:59 · 494 阅读 · 0 评论 -
tf.reduce_mean()与np.mean()的区别
参考网站:https://stackoverflow.com/questions/34236252/what-is-the-difference-between-np-mean-and-tf-reduce-meantf.reduce_mean()与np.mean()实现的计算是一样的,但是相互的区别,通过以下实验可知:# tensorflow.__version__=='1.15.4'import tensorflow as tfimport numpy as np###############原创 2020-10-28 20:58:24 · 1529 阅读 · 0 评论 -
基于对数似然率的物理层网络编码公式推导
论文免费来源:《Physical Layer Network Coding with Multiple Antennas》https://xueshu.baidu.com/usercenter/paper/show?paperid=0790a364e921183bd929563d288e23b8&site=xueshu_se&hitarticle=1**论文系统模型:**双路中继系统,两个基站分别具有1根天线,基站具有2根天线论文当中直接通过利用和差矩阵来实现对中继接收信号的网络原创 2020-10-20 11:34:49 · 410 阅读 · 0 评论 -
Python—tf.summary.scalar()用法
简单应用代码:import tensorflow.compat.v1 as tftf.compat.v1.disable_eager_execution()#由于当前环境使用的是tensorflow 2,使用兼容版本1‘compat v1’之后使用placeholder会不兼容#tf.placeholder() is not compatible with eager execution.#所以添加disable_eager_execution#https://blog.youkuaiyun.com/wei原创 2020-10-18 09:26:59 · 2570 阅读 · 1 评论 -
从C++转Python代码发现代码间的相似规则
构造函数:__init__析构函数:__del__语句块符号":"与C++当中的“{}”的含义一样#if语句if True:#for语句for index in range(ranges):#while语句while True:#定义类class class_name:#定义函数def function_name(parameters):例子:>>> class hello:... def __init__(self,x):...原创 2020-10-17 11:02:00 · 169 阅读 · 0 评论 -
Matlab中关于随机流stream的使用(不完全)
clear all;close all;stream = RandStream('mt19937ar');temp3 = randn(10,5);temp4 = randn(10,5);%结论:直接使用这个是基于全局流来产生的,每一次产生都是变化的temp1 = randn(stream,10,5);temp2 = randn(stream,10,5);%结论:通过一个随机流产生的两个矩阵不相同,每一次产生都是不变的在运行脚本之后,temp3与temp4是不相同,且与上一次产生的原创 2020-09-28 15:36:54 · 1250 阅读 · 0 评论 -
C++LeetCode——向量子集
题目:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subsets解释:假设输入向量{5,2,9}每一位对应输入向量当中的一个数值,通过移位遍历并通过按位置与得到相应的子集。转载 2020-09-20 16:30:37 · 285 阅读 · 0 评论 -
C++LeetCode——最小高度树
题目:给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-height-tree-lcci代转载 2020-09-20 14:42:26 · 304 阅读 · 0 评论 -
C++LeetCode好数对
#include <iostream>#include<unordered_map>//#include<map>//使用方法相同:具体区别看https://blog.youkuaiyun.com/qq_21997625/article/details/84672775#include<time.h>#include<vector>using namespace std;class Solution {public: int numId原创 2020-09-18 09:55:55 · 195 阅读 · 0 评论 -
C++堆排序——(菜鸟教程)
来源:https://www.runoob.com/w3cnote/heap-sort.html原文的动图解释的很明白。代码:#include <iostream>#include <algorithm>using namespace std;void max_heapify(int arr[], int start, int end) { //建立父节点下标和子节点下标 int dad = start; int son = dad * 2 +转载 2020-09-17 21:33:40 · 294 阅读 · 0 评论 -
C++代码——QuickSort快速排序法(菜鸟教程)
来源:https://www.runoob.com/w3cnote/quick-sort-2.html代码:#include <iostream>//#include<time.h>using namespace std;int Paritition1(int A[], int low, int high) { int pivot = A[low]; while (low < high) { while (low < hi转载 2020-09-17 20:32:19 · 1239 阅读 · 0 评论 -
C++std当中的swap()函数示例
代码:#include <iostream>using namespace std;int main(){ string aaa = "aaa"; string bbb = "bbb"; swap(aaa, bbb); cout << aaa << ' ' << bbb << endl; char aa = 'a'; char bb = 'b'; swap(aa, bb);原创 2020-09-16 19:32:02 · 322 阅读 · 0 评论