【笔试强训day48】顺时针打印矩阵、左右最值最大差

news2024/11/26 23:29:06

  • 博主简介:想进大厂的打工人
  • 博主主页:@xyk:
  • 所属专栏: 笔试强训专栏

笔试强训


目录

文章目录

一、选择题

1.1 10.1.0.1/17的广播地址是( )

1.2 网络地址172.16.22.38/28 请写出此地址的子网ID以及广播地址,此地址所处子网可用主

机数

1.3 tcp三次握手的过程,accept发生在三次握手哪个阶段

1.4 Linux中,一个端口能够接受tcp链接数量的理论上限是(D)

1.5 随着IP网络的发展,为了节省可分配的注册IP地址,有一些地址被拿出来用于私有IP地址,以下不属于私有IP地址范围的是(C)

1.6 下面是一个http请求:

二、[编程题]左右最值最大差

三、OR38 顺时针打印矩阵


一、选择题

1.1 10.1.0.1/17的广播地址是( )

A.10.1.128.255
B.10.1.63.255
C.10.1.127.255
D.10.1.126.255
 

解:10.1.0.1/17

17代表的是子网掩码:前面17个 1代表网络号 ,后面15个0代表主机号

广播地址就是:主机号全为1;

所以,32为位IP地址,前17位为 10.1.0.1的前17位,后15位为1 


10.1.0.1/17化为二进制为 00001010 00000001 00000000 00000001后15为全为1

即为:

00001010 00000001 01111111 11111111 就是10.1.127.255

1.2 网络地址172.16.22.38/28 请写出此地址的子网ID以及广播地址,此地址所处子网可用主机数

A.172.16.22.32 172.16.22.255 12
B.172.16.22.32 172.16.22.47 16
C.172.16.22.32 172.16.22.255 15
D.172.16.22.32 172.16.22.47 14
 

1、172.16.22.38/28表示:IP地址+子网掩码地址

(1)其中172.16.22.38为IP地址:172.16.22.0010 0110

(2)其中“/28“表示子网掩码,或者说表示子网掩码的前28位都是1,其他位为0; 

即子网掩码为: 1111 1111,1111 1111, 1111 1111, 1111 0000;

=> 255,255,255,240;

2、子网掩码:255.255.255.1111 0000;IP地址:172.16.22.0010 0110

IP地址和子网掩码进行“与运算”得子网ID:

      (255.255.255.1111 0000)&(172.16.22.0010 0110)= 172.16.22.0010 0000;

即:子网ID为:172.16.22.32

3、32 - 28 = 4,子网最多有 2的4次方个: 2^4 = 16个。

主机地址:172.16.22.0010 0000;=>172.16.22.32;(可用位全为0)

广播地址:172.16.22.0010 1111;=>172.16.22.47;(可用位全为1)

实际可用主机数:16 - 2 = 14个;(去除主机地址和广播地址,剩下一个主机分一个地址);

1.3 tcp三次握手的过程,accept发生在三次握手哪个阶段

A 第一次握手
B 第二次握手
C 第三次握手
D 三次握手后

  1. 第一次握手:客户端发送syn包(syn=j)到服务器。
  2. 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。
  3. 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。
  4. 三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接

1.4 Linux中,一个端口能够接受tcp链接数量的理论上限是(D)

A 1024
B 65535
C 65535 * 65535
D 无上限

tcp链接数量的理论上限跟端口没有关系;对于服务端来说一个客户端的连接请求到来,创建一个新连接,新连接源端地址与监听连接绑定地址相同,只是对端地址不同,描述通信两端的信息,跟端口没有关系,所以理论上并没有限制,全凭主机的资源上限

1.5 随着IP网络的发展,为了节省可分配的注册IP地址,有一些地址被拿出来用于私有IP地址,以下不属于私有IP地址范围的是(C)

A 10.6.207.84
B 172.23.30.28
C 172.32.50.80
D 192.168.1.100

用于组建私网的网段有:10.*网段和172.16.* ~ 172.31.*网段以及192.168.*网段

1.6 下面是一个http请求:<br />

GET /baidu/blog/item/6605d1b4eb6433738ad4b26d.html HTTP/1.1 <br />
Host: hi.baidu.com <br />
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6 <br />
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5<br />
Accept-Language: zh-cn,zh;q=0.5 <br />
Accept-Encoding: gzip,deflate <br />
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7<br />
Keep-Alive: 300 <br />
Connection: keep-alive <br />
Referer: http://hi.baidu.com/baidu <br />
Cookie: BAIDUID=AFB70E986AC48B336ABAB7505CDD1C76; <br />
下面关于 Host、User-Agent、Accept-Charset、Connection、Referer、Cookie描述错误的是?

 

A.Host:HTTP服务器的IF地址或者域名
B.User-Agent:告诉HTTP服务器,客户端使用的操作系统和浏览器的名称和版本.
c.Accept-Charset:浏览器申明自己接收的字符集,这就是本文前面介绍的各种字符集和字符编码,如gb2312,utf-8
D.cookie:它记录了服务器的相关的一些信息
E.Referer:提供了Request的上下文信息的服务器,告诉服务器我是从哪个链接过来的


 cookie是用来记录用户信息,表明用户身份的

二、[编程题]左右最值最大差

链接:左右最值最大差__牛客网
来源:牛客网

给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少?

给定整数数组A和数组的大小n,请返回题目所求的答案。

做法一:

思路:贪心算法

因为求的是两个最大值的差,所以肯定要找到数组中最大的那个值,然后就可以确定一边的最大值了。

另一边的最大值就是要找左右两端最小那个数,因为无论他们怎么往外扩都只能增大,不能减小。

无论怎么分组,两端的值是一定在两个组内的,如果两端的值小于最大值中间任一的值,那就只取这一个数字,因为要是的组内最大的值。

如果两端的值大于其中任一小的值,那这个组内的最大值,肯定不是这个小的值,所以无论如何右半边取最右端数字。

public int findMaxGap(int[] A, int n) {
        int max = Integer.MIN_VALUE;
        for (int i = 0; i < A.length; i++) {
            if (max < A[i]){
                max = A[i];
            }
        }
        return max - Math.min(A[0],A[n - 1]);
    }

 

做法二:动态规划

dp[i][j]数组代表的是以i开始的,以j结尾的数组的最大值

public int findMaxGap(int[] A, int n) {
        int[][] dp = new int[n][n];
        for (int i = 0; i < n; i++) {
            dp[i][i] = A[i];
        }
        for (int i = 0; i < n; i++) {
            for (int j = i + 1; j < n; j++) {
                dp[i][j] = Math.max(dp[i][j-1],A[j]);
            }
        }
        int max = 0;
        for (int k = 0; k < n - 1; k++) {
            if (Math.abs(dp[0][k] - dp[k + 1][n - 1]) > max){
                max = Math.abs(dp[0][k] - dp[k + 1][n - 1]);
            }
        }
        return max;
    }

三、OR38 顺时针打印矩阵

顺时针打印矩阵_牛客题霸_牛客网 (nowcoder.com)

对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。

给定int矩阵mat,以及它的维数nxm,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。

 

 思路:因为是要顺时针打印,所以规定顺序从 右 下 左 上 右 进行循环遍历

import java.util.*;

public class Printer {
    public int[] clockwisePrint(int[][] mat, int n, int m) {
        // write code here
        //左上角坐标
        int x1 = 0;
        int y1 = 0;
        //右下角坐标
        int x2= n-1;
        int y2= m-1;
        //定义数组
        int[] arr = new int[n*m];
        int index = 0;
        while(x1<=x2&&y1<=y2){
            //第一行:x1,yi~y2
            for(int i = y1;i <= y2;i++)
                arr[index++] = mat[x1][i];
            //最后一列:x1+1,x2,y2
            for(int i = x1+1;i <= x2;i++)
                arr[index++] = mat[i][y2];
            //最后一行:x2,,y2-1~y1;
            if( x1 < x2 ){
                for(int i= y2-1;i >= y1;i--)
                    arr[index++] = mat[x2][i];
            }
            //第一列:x2-1~x1+1,y1
            if(y1 < y2){
                for(int i = x2-1;i >= x1+1;i--)
                    arr[index++] = mat[i][y1];
            }
            x1++;
            y1++;
            x2--;
            y2--;
         
        }
         return arr;
    }
}

 

注意最后第一列的循环条件,是要i >= x1 + 1,因为上一次循环,包括了起始的值

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

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

相关文章

[2019“好贷杯“风控能力挑战赛一等奖] 基于神经网络算法的A股市场多因子选股的研究

本论文为 “2019年中国高校风险管理与控制能力挑战赛” 实际参赛作品&#xff0c;获得一等奖。 本论文体现了较好的数学建模思想和写作&#xff0c;所以将论文和完整代码进行了开源&#xff0c;方便与大家交流。

NetSuite SuiteTax之中国影响

这篇是还账。3个月前林师傅给的一个题目&#xff0c;陆陆续续的学习&#xff0c;一直没有弄完&#xff0c;直到今朝。 SuiteTax是2018年GA的一个重大功能&#xff0c;是NetSuite面向国际市场的一个标志动作。它将过去以美国为中心的税务功能&#xff0c;转向为国际市场服务。只…

xhs-xs webmsxyw分析

近期又更新了&#xff0c;先是改了x-s生成&#xff0c;然后又加上了a1校验。 后面可能会全参校验&#xff0c;比如再加上gid、deviceId、profileData、x-s-common、smidV2之类。 估计以后不能写xhs了&#xff0c;大家且看且珍惜吧。之前相关的文章都被下架了 危&#xff01;…

C语言扫雷小游戏

扫雷小游戏 一&#xff0c;扫雷游戏的理解和整体思路1. 扫雷游戏的玩法2.写扫雷小游戏的整体思路 二&#xff0c;函数功能的实现模块1.宏定义2.打印菜单3.初始化雷盘4.打印雷盘5.布置雷6.玩家排雷6.1 显示该坐标有几个雷的函数6.2雷盘展开函数的实现 三.最终扫雷游戏的的实现1.…

AI绘画Stable Diffusion安装、使用教程 整合包下载

安装Stable Diffusion webui 效果图&#xff1a; 1.准备工作 在下载 AI 绘画工具前&#xff0c;电脑上需要提前下载一些运行的环境 1.下载python、git 首先本地机器最好是英伟达的 N 卡&#xff0c;并且至少需要 4GB 显存才能在本地运行&#xff0c;当然&#xff0c;A 卡也是…

微服务开发系列——第一篇:项目搭建(保姆级教程)

总概 A、技术栈 开发语言&#xff1a;Java 1.8数据库&#xff1a;MySQL、Redis、MongoDB、Elasticsearch微服务框架&#xff1a;Spring Cloud Alibaba微服务网关&#xff1a;Spring Cloud Gateway服务注册和配置中心&#xff1a;Nacos分布式事务&#xff1a;Seata链路追踪框架…

【CH32】| 00——开发环境搭建 | 软件安装 | 资料及工具下载

系列文章目录 TODO 文章目录 1. 简介2. 下载软件3. 安装4. 资料及工具下载4.1 芯片数据手册/参考手册4.2 评估(开发)板原理图/demo4.3 烧录软件4.3.1 isp串口一键下载4.3.2 WCH-LINK Utility烧录 4.4 WCH LINK相关资料/驱动安装4.4.1 WCH LINK相关资料4.4.2 WCH LINK驱动安装 5…

摆摊卖网红气球怎么样?

本章主要介绍一下最近网红气球&#xff1a; 最近看到很多摆摊的抖音视频&#xff0c;都在说卖气球很好&#xff0c;成本低&#xff0c;收益高&#xff0c;所以调研了一下&#xff0c;网红气球分好几种&#xff1a; a,飘空气球&#xff1b; b.手持网红气球 c.青蛙 首先介绍飘空…

初始python

初始python 缘由 ​ 对于python&#xff0c;相比大家并不陌生&#xff0c;Python是一种高级的、解释性编程语言&#xff0c;它具有简洁的语法和强大的内置函数&#xff0c;适用于广泛的应用领域&#xff0c;例如运维,Web开发&#xff0c;数据科学&#xff0c;人工智能等。Pyt…

JVM基础学习---1、JVM总体机制、类加载机制

1、JVM总体机制 1.1 JVM概念 JVM&#xff1a;Java Virtual Machine&#xff0c;翻译过来是Java虚拟机。 JRE&#xff1a;Java Runtime Environment&#xff0c;翻译过来是Java运行时环境。 JDK&#xff1a;Java Development Ki JDK&#xff1a;Java Development Kits&#…

Mysql字符集

1、修改MySQL5.7字符集 我们在新建数据库时&#xff08;Navicat&#xff09;界面时会遇到这两个选项&#xff0c;字符集和排序规则 在MySQL 8.0版本之前&#xff0c;MySQL 5.7 默认的客户端和服务器都用了 latin1 &#xff0c;而latin1是不包含中文的&#xff0c;所以保存中文…

MetersPhere 试用

1. 功能测试 1.1 用例管理 脑图管理 样式&#xff1a; 脑图用例导入 1.2 用例评审 1.2.1 发起用例评审 1.2.2 关联用例&#xff1a; 1.2.3 用例评审 2. 接口测试 2.1 接口定义 类似postman、foxapi等主流接口管理页面 2.2 用例配置&#xff1a; 需要在meterphere安装节点…

路径规划算法:基于人工蜂群算法的路径规划算法- 附代码

路径规划算法&#xff1a;基于人工蜂群的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于人工蜂群的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法人工…

C++ [STL之vector的使用]

本文已收录至《C语言和高级数据结构》专栏&#xff01; 作者&#xff1a;ARMCSKGT STL之vector的使用 前言正文默认成员函数普通构造拷贝构造析构函数赋值重载 迭代器正向迭代器反向迭代器const迭代器 容量类空间容量查询空间容量操作扩容操作元素数量操作缩容操作 数据访问下标…

numpy log随机产生非常奇怪的数字(np.log的大坑)

背景 有一批信号数据要送到网络里训练&#xff0c;训练之前为了统一量纲&#xff0c;首先根据方差和均值做了一次标准化&#xff0c;然后求了一次能量&#xff08;20*log10(x)&#xff09;&#xff0c;也就是说送进网络里的其实是一个能量谱&#xff0c;但是训练过程中经常蹦出…

Python的用途与学习计划

python的用途&#xff1a; 1、web开发&#xff1b; 2、网络爬虫&#xff1b; 3、数据科学&#xff1b; 4、自动化运维&#xff1b; 5、数据库编程&#xff1b; 6、网络编程&#xff1b; 7、图形处理、数学处理、文本处理&#xff1b; 8、多媒体应用。 其中&#xff0c…

组合问题-回溯算法

1题目 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] 示例 2&#xff1a; 输入&#xff1a;n …

美国国际留学生超136万,本科、硕士和博士各占多少?

国际教育市场研究机构ICEF Monitor近日公布&#xff0c;2022年美国持有F-1和M-1有效学习签证的国际学生数量共计136.2万人&#xff0c;与2021年相比增长了10.1%。 其中&#xff0c;国际学生来美国读本科学士学位的占37%&#xff0c;读硕士学位的占41%&#xff0c;读博士学位的…

为什么WordPress这么难用?(以及如何让它变得简单点)

WordPress 是世界上最受欢迎的网站构建器&#xff0c;为互联网上超过 43% 的网站提供支持。然而&#xff0c;有些人抱怨说 WordPress 比 Squarespace 和 Wix 等解决方案更难使用。 在本文中&#xff0c;我们将解决为何WordPress这么难用的神话&#xff0c;并分享您可以用来毫无…

用于具有缺失模态的脑肿瘤分割的模态自适应特征交互

文章目录 Modality-Adaptive Feature Interaction for Brain Tumor Segmentation with Missing Modalities摘要本文方法Modality-Adaptive Feature InteractionGraph RepresentationGraph Edge ComputationModality Feature Updating 实验结果 Modality-Adaptive Feature Inter…