自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 12051205

你的代码可能是这样的: 在有尾递归优化的情况下,最后一条语句不用压栈,不占用栈空间,因此空间复杂度为S(n)=S(left)+1 在平衡的时候,left=n/2,S(n)=S(n/2)+1,得S(n)=O(logn) 在树严重向左偏,left=n-1,S(n)=S(n-1)+1,得S(n)=O(n) 当树严重向右偏,left=1,S(n)=S(1)+1,得S(n)=O(1)从我前面的例子、图,以及还有代码来看,不管操作是插入、删除还是查找,时间复杂度其实都跟树的高度成正比,也就是 O(height)。

2025-03-21 21:02:23 585

原创 卡码网总结刷题

cincin是C++中, 标准的输入流对象,下面列出cin的两个用法,单独读入,和批量读入 cin的原理,简单来讲,是有一个缓冲区,我们键盘输入的数据,会先存到缓冲区中,用cin可以从缓冲区中读取数据。 注意1:cin可以连续从键盘读入数据 注意2:cin以空格、tab、换行符作为分隔符 注意3:cin从第一个非空格字符开始读取,直到遇到分隔符结束读取注意:这题错的同学请注意题目的提示“注意,测试数据不仅仅一组。也就是说,会持续输入N以及后面的a和b”,只有一次cin>&

2024-03-16 12:33:52 229

原创 leetcode刷题总结

1.sort()函数,默认的是对二维数组按照第一列的大小对每行的数组进行排序。所以可以加上cmp函数用按照任意列对数组进行排序。将区间[first,last)的元素赋值到当前的vector容器中,这个容器会清除掉vector容器中以前的内容。或者赋n个值为x的元素到vector容器中,这个nums.end()是取不到的,所以。从begin()开始有几个数就加上几。

2024-03-15 17:49:39 380

原创 FPGA刷题总结

35.下列说法错误的是()【A】为了避免wire信号出现X态,最好在声明时赋初始值0【B】一个模块例化多次,可以使用generate for循环减少代码量【C】模块例化时,需要将端口显式列出,即使某个端口未连接信号【D】循环表达式的循环次数必须为常数所以D错误。A选项,为了避免wire信号出现X态,最好在声明时赋初始值0,没有见过这种说法(但也没有找到证明它错误的权威的解析),但是wire型信号是可以在声明时赋初始值0的,例如:wire a=1’b0;B选项和C选项正确。正确答案:D。

2024-03-06 14:47:04 1154

原创 【无标题】stft-fsst

fsst

2023-03-02 20:26:12 300

原创 golang的继承inherit

1)继承的优点:复用性、维护、扩展 2)结构体可以使用 镶嵌匿名结构体 的所有字

2022-09-11 16:03:35 243

原创 golang 切片

slice

2022-09-04 19:17:37 159

原创 各种傅里叶变换

clc,clear,close all;N=1024;sig1=fmlin(N,0.15,0.25);%%暂态信号2sig2=fmlin(N,0.1,0.2);sig=sig1+sig2;%这个是估算瞬时频率figure(3);[f,t]=instfreq(sig1);plot(t,f);%短时傅里叶变换%就是这个tfrstftstft=MZJ_stft( sig );figure(1);imagesc( abs(s...

2022-05-09 18:47:30 1268 1

原创 python爬图片

import requestsimport osfrom bs4 import BeautifulSoupurl = input("输入网站:")#字典dic={ "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.39"}resp = re.

2022-04-14 20:50:30 464

原创 二分查找 2022/3/28

//二分查找//二分查找1.最左边的第一位//二分查找2.最右边的第一位#include <iostream>#include <vector>using namespace std;//最基本的二分查找无法确定找到的是哪一个最先找到的输出int FristBinarySearch(vector<int> nums,int target){ int left=0,right=nums.size()-1; int mid=0; while(left..

2022-03-28 23:58:37 302

原创 stringstream比较数字大小,string转int

165. 比较版本号 - 力扣(LeetCode) (leetcode-cn.com)#include<iostream>#include<string>#include<algorithm>#include<vector> #include<sstream>using namespace std;string fort_zero(string& s){ bool flag=0; int left=0,right=

2022-03-24 17:00:55 784

原创 stringstream分割任意字符

在 C++ 中,可以使用 istringstream 配合 getline 根据分隔符来分割字符串。istringstream, ostringstream, stringstream区别#这 3 个 stream 都可以通过头文件 #include <sstream> 引入。三者的区别如下: ostringstream : 用于执行 C 风格字符串的输出操作。 istringstream : 用于执行 C 风格字符串的输入操作。 stringstream : 同时.

2022-03-24 14:51:14 1176

原创 C++比较器

bool custom_compare(int a, int b) { int binary_count_a =0,binary_count_b=0,a_mid=a,b_mid=b; while(a) {binary_count_a ++;a &=a-1;} while(b) {binary_count_b ++;b &=b-1;} if(binary_count_a<binary_count_b) return true; el...

2022-03-24 14:07:46 1876

原创 二进制1的个数

方法1int bitcount (unsigned int n){ int count=0 ; while (n) { count++ ; n &= (n - 1) ; } return count ;}这个代码中核心的代码只有一行,就是 n &= (n - 1) ,我们分开看一下:n-1:一个二进制的数减1,就是将这个二进制最右边的那个1变成0,然后它后边的所有位置都变成1~ 举例:0011 0100,减1.

2022-03-24 14:05:28 285

原创 迭代器常用操作

1.通用操作1.1迭代器运算符1 *it返回迭代器it所指元素的引用、即解引用指回去2 反向迭代器坐标轴都是反的中心对称3 迭代器类型 容器类型::iterator 反向迭代器类型 容器类型::reverse_iterator#include <string>using namespace std;int main() { string tar="abcdefg"; // 迭代器类型是 容器类型::iterator for(strin...

2022-03-16 19:47:47 284

原创 2022/1/25

基本语法1.string之间的比较大小原则:找第一个不同的比较得结果,对大小写敏感,A<a大写变小写'A'+32='a'#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;int main(){ vector<string> words={"a","Aee", "b", "app", "app.

2022-01-25 21:52:03 282

原创 string类C++笔记

#include<string>头文件1.定义初始化赋值输入输出对象#include <iostream> #include <string> //getline(cin,str1) 用于string类 using namespace std;int main(){ //定义string对象 string str1; //初始化string对象 string str2="c++"; //复制初始化..

2022-01-25 21:48:23 495

原创 getline()、cin.get()和cin.getline()

1.<istream>中的cin.getline(m,5) 用于char数组cin>>cin默认使用空白(空格、制表符、换行符)来确定字符串的结束位置:在<istream>中的getline()函数有两种重载形式:cin.getline()istream& getline (char* s, streamsize n );istream& getline (char* s, streamsize n, char delim );用法:接收一

2022-01-25 20:08:17 471

原创 2022/1/24

基本语法1.sort与比较器使用:#include <algorithm>   using namespace std;时间复杂度:n*lg(n)形式:sort(first_pointer,first_pointer+n,cmp)第一个参数是数组的首地址,一般写上数组名就可以,因为数组名是一个指针常量。第二个参数相对较好理解,即首地址加上数组的长度n(代表尾地址的下一地址)。最后一个参数是比较函数的名称(自定义函数cmp),即第三个参数可以缺省,这样sort会默认.

2022-01-24 20:41:17 5119

原创 2022/1/23笔记

基本语法1.输入输出1.<istream>中的getline()函数cin.getline(m,5)cin>>cin默认使用空白(空格、制表符、换行符)来确定字符串的结束位置:在<istream>中的getline()函数有两种重载形式:cin.getline()istream& getline (char* s, streamsize n );istream& getline (char* s, streamsize n, cha.

2022-01-23 23:03:00 287

原创 2022/1/22笔记

基本语法1.sort对vector排序C++ vector用法详解 分为升序和降序两排序方式: vector<int>v; sort(v.begin(), v.end(),less<int>());//升序 sort(v.begin(), v.end(),greater<int>());//降序 sort(obj.begin(),obj.end());//从小到大 reverse(obj.begin().

2022-01-22 23:08:45 298

原创 2022/1/22笔记背包问题

首先是背包分类的模板:1、0/1背包:外循环nums,内循环target,target倒序且target>=nums[i];2、完全背包:外循环nums,内循环target,target正序且target>=nums[i];3、组合背包:外循环target,内循环nums,target正序且target>=nums[i];4、分组背包:这个比较特殊,需要三重循环:外循环背包bags,内部两层循环根据题目的要求转化为1,2,3三种背包类型的模板1、最值问题: dp[i] = m

2022-01-22 14:26:24 544

原创 2022/1/21笔记

01背包问题class Solution {public: bool canPartition(vector<int>& nums) { int len=nums.size(); int mid=0,tar=0; for (int a:nums) mid+=a; if(mid%2!=0) return false; tar=mid/2; bool pd[len+1][tar+1

2022-01-21 23:55:23 4510

原创 2022/1/20笔记

1.unordered_map用法C++ STL unordered_map容器用法详解 (biancheng.net)C++中的unordered_map用法详解#include<string> #include<iostream> #include<unordered_map>using namespace std; int main(){ unordered_map<string, int> dict; //.

2022-01-21 09:39:56 178

原创 2022/1/19

1.知识点break continueclass Solution {public: string modifyString(string s) { int len=s.size(); for(int i=0;i<len;i++) { if(s[i]=='?') { for(char res='a';res<='z';res++) .

2022-01-20 10:53:44 80

原创 简单排序记忆

1.冒泡排序void Bubble(vector<int>& arr){ for(int i=0;i<arr.size()-1;i++){ 0 len-1 for(int j=0;j<arr.size()-i-1;j++){ 0 len-1-i if(arr[j]>arr[j+1]) swap(arr[j],arr[j+1]); .

2022-01-18 19:37:40 174

原创 2022/1/18

1.除二操作/2与>>1而>> 1和/ 2在n为负奇数时截断的反向不一样。-5 / 2 = -(int)2.5 = -2,这里是把绝对值变小了,加个负号,结果就变大了。-5 >> 1 = (1011) >> 1 = (1101) = -3,假设用4-bit表示一个整数,补码表示。发现结果变小了。-5 / 2 = -2 5 / 2 = 2。这表明除二是向零取整-5 >> 1 = -3 5 >> 1 = .

2022-01-18 18:43:11 291

原创 2022/1/17笔记

知识点string1.赋值#include <iostream>#include <string>using namespace std;int main() { //初始化 string类型 string a; a = "hello";//给a赋值 “hello” string a1(a);//调用构造函数生成a1,a1是a的复制 cout << a1 <<endl; string a2 (a,.

2022-01-17 19:58:54 88

原创 2022/1/16笔记

#include<iostream>using namespace std;int main(){int p[3][5];int len=sizeof(p)/sizeof(int);int len2=sizeof(p[0])/sizeof(int);int len3=len/len2;printf("数组的第一维长度是 %d,第二维长度是 %d\n",len3,len2);return 0;}数组的第一维长度是 3,第二维长度是 5题目1二分查找课程列表_牛客网 (.

2022-01-16 20:38:16 435

分数阶傅里叶幅度值与理想曲线f

分数阶傅里叶幅度值与理想曲线f

2023-12-28

经典傅里叶变换系列代码包

经典傅里叶变换系列代码包

2022-05-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除