48天笔试训练错题——day48

news2024/9/21 5:42:10

目录

选择题

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

编程题

1. 左右最值最大差

2. 顺时针打印矩阵


选择题

1.

cookie 是浏览器存储数据的机制,是用于维护 http 通信当中客户端的用户信息的。

2.

403 Forbidden 表示资源不可用,服务器理解客户请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致的 web 访问错误。

3.

tcpdump 是抓包命令。

4.

/28 表示有 28 位网络号,172.16.22.00100110,黄色部分就是网络号,也就是 172.16.22.32。

主机号占 32 - 28 = 4 位,所以一共有 2^4 = 16 个主机地址。

范围就是 172.16.22.32 ~ 172.16.22.47,除去全 0(网络号)和全 1 (广播号) 后,还剩下 14 个主机地址。 

5.

accept 表示获取一个已完成连接的操作句柄,而建立完连接则是三次握手完成之后。

6.

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

一个客户端主机上可以启动多少客户端程序(65536 ,一个客户端程序会占据一个端口)。 

7.

URG 表示紧急指针是否有效,带外优先数据,紧急指针指向正常数据处也就是带外数据的下一个位置处。

ACK 是确认报文,SYN 是连接请求,FIN 是关闭连接请求。

8.

10.1.0.1/17:00001010.00000001.00000000.00000001

网络号就是 10.1.0.0

子网掩码:11111111.11111111.10000000.00000000

子网掩码取反得到最大主机号,也就是广播号 127.255

与网络号相加得到广播地址,所以广播号就是 10.1.127.255

9.

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

10.

listen 函数功能,开始监听,让指定套接字进入监听状态,表示可以开始处理客户端的连接请求。

如果黑客,伪造 IP 发送大量连接请求,服务端就会创建大量的套接字句柄用于与其通信,资源瞬间耗尽服务器崩溃,因此为了限制这种情况,就限制了同一时间所能处理最大连接数量。

listen 的第二个参数表示,内核中的已完成连接队列节点个数,表示同一时间最多能处理多少个客户端的连接请求。

编程题

1. 左右最值最大差

题目要求求   | 左部分最大值 - 右部分最大值 | 的最大值,因为是求绝对值,所以可以是左边 - 右边,也可以是右边 - 左边,所以左边最大值和右边最大值一定有一个是整个数组的最大值,所以我们可以先遍历数组,找到数组的最大值,其中一个最大值值就能确定了。就可以转化成数组最大值减去另一部分的最大值,因为求的是差的最大值,所以数组最大值确定了,那么另一个被减数就应该尽可能的小,也就是说求最大值的较小值(被减数)。

左部分:一定会包含 A[0] 这个元素,求最部分最小的最大值 x ,所以 x 一定是大于等于 A[0] 的

右部分:一定会包含 A[n - 1] 这个元素,求最部分最小的最大值 y ,所以 y  一定是大于等于 A[n - 1] 的

所以最小的最大值应该在 A[0] 和 A[n - 1] 中选,所以最后只需要遍历数组找出数组最大值 max,然后再用 max 减去 min(A[0] , A[n - 1] )即可。

代码实现:

import java.util.*;

public class MaxGap {
    public int findMaxGap(int[] A, int n) {

        // 求的是左边最大值与右边最大值的差的绝对值,最大是多少
        // 则说明可以是 leftMax - rightMax
        // 也可以是 rightMax - leftMax
        // 而左右两边的最大值一定有一个是整个数组的最大值
        // 而题目又说它们的差必须最大,则说明被减数一定要小
        // 左边最小的最大值一定是比 A[0] 要大,或者相等
        // 右边最小的最大值一定是比 A[n - 1] 要大,或者相等
        // 所以最小的最大值一定在 A[0] 和 A[n - 1] 中选
        // 所以最后就是遍历数组,找出数组最大值
        // 再用数组最大值 - min(A[0], A[n - 1]) 即可
        int max = Integer.MIN_VALUE;
        for (int i = 0; i < A.length; i++) {
            int tmp = A[i];
            if (tmp > max) {
                max = tmp;
            }
        }
        return max - Math.min(A[0], A[n - 1]);
    }
} 

2. 顺时针打印矩阵

代码实现:

import java.util.*;

public class Solution {
    public ArrayList<Integer> printMatrix(int[][] matrix) {
        ArrayList<Integer> ans = new ArrayList<>();
        int x1 = 0, y1 = 0, x2 = matrix.length - 1, y2 = matrix[0].length - 1;
        while (x1 <= x2 && y1 <= y2) {
            // 第一行
            for (int i = y1; i <= y2; i++) {
                ans.add(matrix[x1][i]);
            }
            // 最后一列
            for (int i = x1 + 1; i <= x2; i++) {
                ans.add(matrix[i][y2]);
            }
            // 最后一行
            if (x1 < x2) {
                for (int i = y2 - 1; i >= y1; i--) {
                    ans.add(matrix[x2][i]);
                }
            }
            // 第一列
            if (y1 < y2) {
                for (int i = x2 - 1; i >= x1 + 1; i--) {
                    ans.add(matrix[i][y1]);
                }
            }
            x1++;
            y1++;
            x2--;
            y2--;
        }
        return ans;
    }
}

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

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

相关文章

前端案例:酷我音乐项目(移动端自适应)(HTML+CSS)

一个简单的移动端案例&#xff0c;模拟不同设备下逻辑分辨率不同&#xff0c;宽高自适应 正常打开整体布局 打开 f12 &#xff08;ctrl shift M&#xff09;或者点击左上角图标,将其模拟为移动端设备 在移动设备iPhone6/7/8&#xff0c;逻辑分辨率375的整体布局 头部和底部的…

虚幻5|角色武器装备的数据库学习(不只是用来装备武器,甚至是角色切换也很可能用到)

虚幻5|在连招基础上&#xff0c;给角色添加武器并添加刀光|在攻击的时候添加武器并返回背后&#xff08;第一部分&#xff0c;下一部分讲刀光&#xff09;_unreal 如何给角色添加攻击-CSDN博客 目的&#xff1a;捡起各种不同的武器&#xff0c;捡起的武器跟装备的武器相匹配 …

C语言日常练习 Day15

目录 一、猴子吃桃问题。 二、两个乒乓球队进行比赛&#xff0c;各出3个人。甲队为A&#xff0c;B&#xff0c;C3人&#xff0c;乙队为X&#xff0c;Y,Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单&#xff0c;A说他不和X比赛&#xff0c;C说他不和X&#xff0c;Z比赛…

Java爬虫中的数据清洗:去除无效信息的技巧

在互联网信息爆炸的时代&#xff0c;数据的获取变得异常容易&#xff0c;但随之而来的是数据质量的问题。对于Java爬虫开发者来说&#xff0c;如何从海量的网页数据中清洗出有价值的信息&#xff0c;是一个既基础又关键的步骤。本文将介绍Java爬虫中数据清洗的重要性&#xff0…

VBA自动发邮件如何配置SMTP实现外部发送?

VBA自动发邮件的教程&#xff1f;如何利用VBA自动化发送邮件&#xff1f; 在使用VBA进行自动化办公任务时&#xff0c;自动发送邮件是一项非常实用的功能。AokSend将详细介绍如何通过VBA自动发邮件&#xff0c;并配置SMTP实现外部发送的过程。 VBA自动发邮件&#xff1a;准备…

前端开发攻略---彻底弄懂跨域解决方案

目录 1、浏览器的同源策略 1.1 源 1.2 同源与非同源 1.3 同源请求与非同源请求 2、跨域受到的限制 3、注意点 4、CORS解决Ajax跨域问题 4.1 CORS概述 4.2 CORS解决简单请求跨域 4.3 简单请求与复杂请求 4.4 CORS解决复杂请求跨域 4.5 借助CORS库快速完成配置 5、JS…

Daiqile SQL注入绕过

上源码。 <?php header("Content-type: text/html; charsetutf-8"); require db.inc.php;function dhtmlspecialchars($string) {if (is_array($string)) {foreach ($string as $key > $val) {$string[$key] dhtmlspecialchars($val);}}else {$string str_…

【C++】掌握C++类的六个默认成员函数:实现高效内存管理与对象操作

C语法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;命名空间缺省参数与函数重载C相关特性类和对象-上篇 本篇为大家分享下在C学习中较为具有挑战与难度&#xff0c;同时也是很重要知识。掌握C类的六个默认成员函数&#xff0c;使得在模拟实现STL中容器过程得心应…

企业必备:2024年顶尖10款人事管理系统

本篇文章介绍了以下几个工具&#xff1a;Moka、卓望ShineHR、华夏HR云、中智人事、i人事、北森iTalentX、红海云、Zenefits、ICE Hrm、ADempiere。 在选择合适的人事管理系统时&#xff0c;很多企业面临如何找到既可靠又能满足特定需求的平台的难题。每个系统都有其独特之处&am…

前端工程化-03.环境准备

一.前端工程化 既然要实现前端工程化&#xff0c;那就要使用一些现成的工具来帮助我们实现&#xff0c;这个工具就是vue官方提供的脚手架 首先就要下载安装vue脚手架 二.什么是vue脚手架 三.安装NodeJS 1.先安装NodeJS才能安装vue脚手架。 Node.js — 在任何地方运行 Jav…

window.onload、$(document).ready()、Vue.created() 页面加载完成后执行方法

1、JavaScript 的 window.onload 方法 window.onload 方法是在页面所有元素&#xff08;包括图片、样式、链接等&#xff09;加载完成后触发的&#xff0c;在这个事件之前&#xff0c;页面上的所有资源都必须加载完成。因此&#xff0c;如果页面中包含大量的图片或其他资源&am…

【科目结转】财务科目结转

*&---------------------------------------------------------------------* *&程序名称 &#xff1a;ZFI134 *&程序描述 : 9003差异科目结转 &#xff08;批量操作 F.02 / 查询 FB03) *&申请单位 …

qt quick实现的水波纹特效:横向波纹、纵向波纹效果

qml实现的水波纹特效 1.横向波纹效果2.另一种效果&#xff08;纵向波纹&#xff09; 一直以来使用c qt如果要实现一些高级特效比如水波纹效果都难度比较大&#xff0c;但是使用qt quick难度就会小很多。这里借鉴一些网友的思路简单实现一下水波纹效果。主要思路就是波浪的形成是…

Aigtek高压放大器在无线电能传输的应用范围

无线电能传输是一种重要的技术&#xff0c;广泛应用于电力、通信和工业领域。高压放大器作为无线电能传输系统中的关键组件之一&#xff0c;扮演着放大信号、提高传输效率的重要角色。 无线电能传输是一种将电能通过无线电波或磁场从发送器传输到接收器的技术。它可以实现远距离…

web自动化测试Day4

目标 下拉选择框&#xff1b;弹出框&#xff1b;滚动条操作&#xff1b;frame表单切换&#xff1b;多窗口切换&#xff1b;窗口截图、验证码处理 定位下拉框 select选择框 下标从0开始 #通过下标形式访问 #通过value值形式访问 注意事项 实例化select时候&#xff0c;需要…

如何选择正规的调度控制台厂家?

在现代社会&#xff0c;随着各行各业对高效、安全管理的需求日益增长&#xff0c;调度控制台作为监控与指挥的核心设备&#xff0c;其重要性不言而喻。然而&#xff0c;市场上调度控制台厂家众多&#xff0c;产品质量与服务水平参差不齐&#xff0c;如何从中挑选出正规、可靠的…

Java设计模式之中介者模式:解耦对象交互的秘诀!

中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为设计模式&#xff0c;用于降低多个对象或类之间的通信复杂性。通过引入一个中介者对象&#xff0c;这些对象无需显式地相互引用&#xff0c;而是通过中介者对象进行交互&#xff0c;从而减少对象之间的直接交互&a…

minikube 实践练习3 - 扩容/缩容

多实例运行 参考文档&#xff1a;https://kubernetes.io/docs/tutorials/kubernetes-basics/scale/scale-intro/ 1. 创建类型为 LoadBalancer的service [weihengweihengminikube root]$ kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) …

构建openGauss-Lite-5.0.2-openEuler基础镜像

构建opengauss数据库基础镜像&#xff0c;需要克服几个困难&#xff1a; 1、使用root和opengauss普通用户来回切换&#xff1a;如果使用Dockerfile中RUN指令&#xff0c;执行su - user切换不生效。 2、需要设置sysctl内核参数&#xff1b;但是&#xff0c;即便使用了--privil…

SPDK源码剖析一hello_world程序

SPDK初识之hello_world程序分析 首先是hello_world程序整体框架分析 int main(int argc, char **argv) {rc parse_args(argc, argv, &opts);if (spdk_env_init(&opts) < 0) { // spdk环境初始化&#xff0c;最终调用dpdk环境初始化}// 扫描设备&#xff0c;将驱…