文档讲解:代码随想录视频讲解:《代码随想录》算法公开课-跟着Carl学算法LeetCode977.有序数组的平方题目链接:977.有序数组的平方思路:拿到这道题第一想法是利用暴力解法,先循环遍历对给定数组中的每个元素进行平方,然后再利用双层for循环遍历把数组中的元素按递增顺序进行依次排序,很明显这种解法代码运行效率极低。classSolution{publicint[]sortedSquares(int[]nums){//给定递增排序数组返回每个数字的平方同时要求也是按照递增排序//1.遍历数组中的元素for(inti=0;inums.length;i++){//2.元素平方//3.组成新数
单链表头插增加Linklistinsert_head(datatypeelement,Linklisthead){//创建新节点Linklists=create_node();if(NULL==s)returnhead;s->data=element;//1,判断链表为空if(NULL==head){head=s;}else//链表不为空{s->next=head;head=s;}returnhead;}单链表头删除Linklistdelete_head(Linklisthead){//1,判断链表为空if(NULL==head){returnhead;}else//链表存在1个或多个节点{L
目录引言一、平均二、三国游戏三、松散子序列引言今天做了三道新题,类型是贪心、枚举、DP,不是特别难,但是努力一下刚好能够够得上,还是不错的,只要能够一直坚持下去,不断刷题不断总结,就是记忆力和毅力了,加油!一、平均标签:贪心思路:贪心这种题目只能是见过类似的,然后去变种,一般比赛中是不太可能去现推出来的,这里只讲一下解题思路。这个变数只有四种情况,多变多、多变少、少变多、少变少。1.多变多:多的给多的,那么一个变少了一个变多了,变多了的肯定又要变成少的,所以相当于第一步就多余了,反而代价多了2.少变多:少的变多的,那么肯定会有一个多的变成少的,那么就要多变,相当于第一步也就多余了3.少变少:其
1.连接性TCP是面向连接的,它在传输数据之前要先建立连接,传输完毕后再释放连接。UDP是无连接的,发送数据之前不需要建立连接,也不会维护连接状态。2.可靠性TCP提供可靠的数据传输,通过确认、重传、流量控制和拥塞控制等机制保证数据的完整性和可靠性。UDP不提供可靠性保证,发送的数据包可能会丢失、重复或乱序,应用层需要自行处理这些问题。3.速度UDP比TCP快,因为它没有建立连接和维护状态的开销,以及不进行确认和重传等复杂的处理。TCP在传输过程中会增加额外的开销,因此速度相对较慢。4.应用场景TCP适用于要求可靠性的应用,如文件传输、Web浏览、电子邮件等。UDP适用于实时性要求较高、对可靠
day17--输出保留3位小数的浮点数--2.21习题概述题目描述读入一个单精度浮点数,保留 3 位小数输出这个浮点数。提示:就这题来说,请使用 float 类型的单精度浮点数。输入格式只有一行,一个单精度浮点数。输出格式也只有一行,读入的单精度浮点数。代码部分#includeusingnamespacestd;intmain(){floata;cin>>a;printf("%.3f",float(a));return0;} day17-- A*B问题类型问题--2.21习题概述题目描述输入两个正整数 A 和 B,求 A×B 的值。注意乘积的范围和数据类型的选择。输入格式一行,包含两个正整数
1.基础知识——链表是由指针串联在一起的线性结构分类:(1)单链表:每个节点由数据域与指针域组成{data,next}(2)双链表:每个节点由数据域及指针域(两个指针)组成{data,pre,next}(3)循环链表:节点结构与单链表一致,但是首尾相连存储:内存分布不是连续的链表定义代码※链表优点在于长度不固定,能够实现动态增删,适用于增删频繁但是查询频率比较低的情景Leetcode203.移除链表元素题目链接:https://leetcode.cn/problems/remove-linked-list-elements/description/分析:经典链表操作,主要需要考虑两种场景当前节
1.intlength(linklisthead){ intlen=0; linklistp=head; while(p) { p=p->next; len++; } returnlen; }voidoutput(linklisthead){ if(head==NULL) { puts("EMPTY"); return; } linklistp=head; while(p) { printf("%-5d",p->data); p=p->next; } puts("");}linklistinsert_head(linklisthead,datatypeelement){ linkl
day2977.有序数组的平方题目链接:977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序题解思路暴力法平方完再排序,时间复杂度为O(nlogn)classSolution{publicint[]sortedSquares(int[]nums){int[]ans=newint[nums.length];for(inti=0;inums.length;++i){ans[i]=nums[i]*nums[i];}Arrays.sort(ans);returnans;}}双指针法根据示例,对于数组存在负数的情况,平方的非递减排序可能
一、介绍git就是一个版本管理库,也是一个版本管理工具,它的作用就是帮助我们记录版本信息,以及修改内容。git的结构是分布式的资源库,特点是没有严格的服务器概念,每个单体都可作为资源库。这个特点就让我们人人有自己的git仓库这件事变得容易实现。git仓库分为:本地仓库:本地电脑上的资源库远程仓库:远程服务器上的资源库,可以连接github二、安装在Windows系统上安装Git很简单,可以直接从Git官网下载安装程序在linux系统上安装Git有很多种方式,可以根据自己系统的情况选择相应的安装方法。三、配置安装完成后,需要对Git进行必要的配置,包括设置用户名和邮箱、配置文本编辑器等。1.gi
「写在前面」本文为b站黑马程序员pink老师JavaScript教程的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。推荐先按顺序阅读往期内容:1.JavaScript学习笔记(Day1)2.JavaScript学习笔记(Day2)3.JavaScript学习笔记(Day3)4.JavaScript学习笔记(Day4)5.JavaScript学习笔记(Day5)6.JavaScript学习笔记(WEBAPIsDay1)7.JavaScript学习笔记(WEBAPIsDay2)8.JavaScript学习笔记(WEBAPIsDay3)9.JavaScript学习笔记(