C语言复杂度(个人笔记)

时间复杂度主要衡量一个算法的运行快慢.
空间复杂度主要衡量一个算法运行所需要的额外空间.

时间复杂度

算法中的基本操作的执行次数,为算法的时间复杂度.
只需要大概执行次数,我们使用大O的渐进表示法。(看谁对数学表达式的影响最大)

空间复杂度

是对一个算法在运行过程中临时占用存储空间大小的量度 。
注意:函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。

笔试题

消失的数字
在这里插入图片描述

//解法一:通过异或运算符实现(两个相同的数异或等于0)
int missingNumber(int* nums, int numsSize)
{int ret=0;int i=0;for(i=0;i<numsSize;i++){ret^=nums[i];}for(i=0;i<numsSize+1;i++){ret^=i;}return ret;
}
//解法二:通过数学方法实现(等差数列)
int missingNumber(int* nums, int numsSize)
{int ret=0;int i=0;for(i=0;i<numsSize+1;i++){ret+=i;}for(i=0;i<numsSize;i++){ret-=nums[i];}return ret;
}

旋转数组
在这里插入图片描述

//三逆置解决
void reverse(int* arr,int left,int right)
{while(left<right){int tmp=arr[left];arr[left]=arr[right];arr[right]=tmp;left++;right--;}
}
//另外开辟一块空间,进行拷贝
void rotate(int* nums, int numsSize, int k)
{if(k>numsSize){k%=numsSize;}reverse(nums,0,numsSize-k-1);reverse(nums,numsSize-k,numsSize-1);reverse(nums,0,numsSize-1);
}

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

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

相关文章

MySQL双机热备份操作

文章目录 概要数据库服务器准备1.MySQL数据库主服务器。2.备份数据库服务器数据准备主服务器dump数据从数据库导入数据配置双机热备份主服务配置从服务配置概要 对于已经在运行的MySQL数据库如何进行双机热备份?本文章详细介绍如何操作进行MySQL双机热备份。 数据库服务器准…

【NC201610】Game

题目 Game 分解质因数&#xff0c;博弈 思路 博弈论一般是两极分化的&#xff0c;要么有思路&#xff0c;相当简单&#xff1b;要么没思路&#xff0c;死活想不出来。 所以一般先找规律&#xff0c;然后大胆猜想&#xff0c;最后提交验证 这道题有什么规律呢&#xff1f; 可以…

python 教你如何创建一个自定义库 colorlib.py

目录 Colorlib 生成代码 模块代码 导入测试 测试一 测试二 应用测试 颜色列表 colorList 随机颜色元组 randcolorTuples 随机颜色字串 randcolorStrings Color类测试 测试一 测试二 题外话 Colorlib 有没有碰到过这样的场景&#xff1a;写代码时想要用上丰富的色…

图像几何变换(仿射变换和透视变换...)及python-opencv实现

文章目录 图像变换类型仿射变换透视变换python-opencv实现参考文献 图像变换类型 图像几何变换主要包括以下几种类型&#xff1a; 平移&#xff08;Translation&#xff09;&#xff1a;将图像在水平或垂直方向上移动&#xff0c;不改变图像的尺寸和形状。缩放&#xff08;Sca…

[Java、Android面试]_10_Java中==与equal()方法的区别?重写equal()方法?

与equal()方法的区别&#xff1f;是一个高频考点&#xff0c;资料整理如下&#xff1a; 文章目录 1. ""的介绍2. .equal的介绍 本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料…

Java并发

目录 线程 什么是线程 进程和线程的区别 线程的生命周期 什么是多线程 并发与并行 多线程的三种实现方式 继承Thread类 1.创建类继承Thread类 2.重写run&#xff08;&#xff09;方法 3.创建对象启动线程 实现Runnable接口 1.自己定义一个类实现Runnable接口 2.重…

程序猿成长之路之番外篇——矩阵算法

今天在复习线性代数知识的过程中&#xff0c;用java语言简单实现了一下矩阵算法。 数学知识回顾 1.什么是矩阵 在数学领域&#xff0c;矩阵就像一个表格&#xff0c;将数据排放进去&#xff0c;形成一个矩形。我们习惯用一个大括号把矩阵内的数据包括进来。 1.矩阵 在数学领域…

FeignClient是否可以配置多个拦截器?

1、做法 在Spring Cloud中&#xff0c;FeignClient是一个声明式的Web服务客户端&#xff0c;让调用远程服务就像调用本地方法一样简单。拦截器可以用于在发送请求之前或者获得响应之后执行一些操作&#xff0c;比如添加公共的Header、记录日志、做一些统计等。 在Feign中&…

Python Web开发记录 Day14:Django part8 订单管理

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、数据库准备2、添加订单3、订单列表4、删除订单5、编辑订单6、补充解答1、数据库准备 1.修改models.py,添加Order订单表 models.py class O…

JavaScript parseInt() 函数

JavaScript parseInt() 函数 从官方理解&#xff1a; parseInt() 函数解析字符串并返回整数。 radix 参数用于指定使用哪种数字系统&#xff0c;例如基数为 16&#xff08;十六进制&#xff09;表示字符串中的数字应从十六进制数解析为十进制数。 如果 radix 参数被省略&…

【HTML面试题】src和href的区别

一、请求资源不同 src 在请求资源时&#xff0c;会把这个资源下载下来href 建立链接通道&#xff0c;也就是引用元素和当前文档建立链接 二、作用结果不同 src 会替换当前元素href 只是引用资源和当前元素建立链接&#xff0c;所以不会替换当前内容。 三、浏览器解析方式不…

3.21作业

#include<myhead.h> int do_add(sqlite3 *ppDb) { int xue0; char name[20]""; double coure0; char sql[128]""; printf("请输入学号\n"); scanf("%d",&xue); printf("请输入姓名\n&qu…

Java SE

java概述 1.什么是java java是一门面向对象的编程语言&#xff0c;作为静态面向对象编程语言&#xff0c;极好地实现了面向对象理论&#xff0c;允许程序员以优雅的思维方式进行复杂的编程 。 2.java语言有哪些特点&#xff1f; 2.1面向对象&#xff08;继承封装多多态&…

SOCKS5是什么?

SOCKS5是什么&#xff1f; SOCKS5&#xff0c;作为SOCKS网络协议家族的最新版本&#xff0c;是一种高级的网络协议&#xff0c;用于在客户端和服务器之间通过一个代理服务器交换网络包。它的设计考虑了多种网络环境&#xff0c;包括对IPv6和UDP协议的支持&#xff0c;并引入了…

Uscrapper:一款功能强大的网络资源爬取工具

关于Uscrapper Uscrapper是一款功能强大的网络资源爬取工具&#xff0c;该工具可以帮助广大研究人员从各种网络资源中轻松高效地提取出有价值的数据&#xff0c;并且提供了稳定、友好且易于使用的UI界面&#xff0c;是安全研究人员和网络分析人员的强有力工具。 Uscrapper最大…

漫谈5种注册中心

01 注册中心基本概念 1.1 什么是注册中心&#xff1f; 注册中心主要有三种角色&#xff1a; 服务提供者&#xff08;RPC Server&#xff09;&#xff1a;在启动时&#xff0c;向 Registry 注册自身服务&#xff0c;并向 Registry 定期发送心跳汇报存活状态。 服务消费者&…

哈希、散列表和Rabin-Karp算法

字典 现有一个抽象数据类型(ADT)如下&#xff1a; 包括了一组元素&#xff0c;每个元素都有一个键key。假设没有元素拥有相同的key&#xff0c;如果有相同的key&#xff0c;则覆盖掉原有key的元素。 -insert(item) -delete(item) -search(key):根据给定的key&#xff0c;返…

JetBrains全家桶激活,分享 GoLand 2024 激活的方案

大家好&#xff0c;欢迎来到金榜探云手&#xff01; GoLand 公司简介 JetBrains 是一家专注于开发工具的软件公司&#xff0c;总部位于捷克。他们以提供强大的集成开发环境&#xff08;IDE&#xff09;而闻名&#xff0c;如 IntelliJ IDEA、PyCharm、和 GoLand等。这些工具被…

第4周 Python程序流程控制刷题(循环结构)

单击题目&#xff0c;直接跳转到页面刷题&#xff0c;一周后公布答案。 P5722&#xff1a;数列求和B2054&#xff1a;求平均年龄B2059&#xff1a;奇数求和B2064&#xff1a;斐波那契数列B2077&#xff1a;角谷猜想B2098&#xff1a;整数去重B2128&#xff1a;素数个数 1. P5…

力扣每日练习(3.20)补

322. 零钱兑换 想象你有一堆不同面值的硬币&#xff0c;现在的任务是用这些硬币凑出一个指定的金额&#xff0c;比如说11元&#xff0c;而且要求用的硬币数量尽可能少。 准备工作&#xff1a;首先&#xff0c;我们做了一张表&#xff08;叫dp&#xff09;&#xff0c;这张表记…