目录
前言
1、分析的必要性
2、分析的紧迫性
一、数据库物理模型及空间分析实现
1、数据库物理模型
2、空间数据库中的空间查询分析
二、Java后台程序开发
1、模型层设计
2、业务层的设计与实现
三、WebGIS功能设计与实现
1、同时展示4幅地图
2、初始化地图
3、展示100*100公里范围边界
4、展示震中附近历年地震信息
四、可视化成果展示
1、新疆喀什叶城县
2、太平洋板块的花莲附近
总结
前言 1、分析的必要性 地震,作为自然界中最为猛烈的灾害之一,其突发性和破坏力往往给人类社会带来巨大的生命财产损失。在历史的长河中,无数次的地震记录不仅见证了地球的脉动,也深刻影响了人类文明的进程。因此,对地震附近区域进行历史地震分析,其必要性不言而喻。
首先,历史地震分析是预测未来地震风险的重要依据。地震活动具有一定的周期性和复发性,通过对某一地区历史地震资料的系统梳理和深入研究,科学家能够揭示该区域地震活动的时空分布规律、震级大小、震源深度等特征,进而评估未来地震发生的可能性及其潜在影响范围。这种基于历史数据的地震预测方法,虽然无法精确到具体的时间和地点,但能够为防灾减灾工作提供宝贵的参考和指导。
其次,历史地震分析有助于提升地震应急响应能力。通过回顾历史上地震发生时的社会反应、救援行动、灾害损失等情况,我们可以总结经验教训,优化应急预案,提高应对地震灾害的效率和效果。例如,分析历史地震中人员伤亡的主要原因,可以指导我们在未来的地震灾害中更加注重建筑结构的抗震性能、公众的地震安全教育和应急演练等方面的工作。
再者,历史地震分析对于城市规划和建设具有重要意义。地震是城市规划中不可忽视的自然因素之一。通过对历史地震资料的详细分析,我们可以了解该地区的地质构造、地震活动背景以及潜在的地震风险,为城市选址、布局、建筑设计等提供科学依据。例如,在地震多发区域,应尽量避免建设高密度居住区、重要基础设施等,以降低地震灾害可能造成的损失。
2、分析的紧迫性 面对日益严峻的地震灾害形势,加强地震附近区域的历史地震分析工作显得尤为紧迫。
一方面,随着全球气候变化和地壳运动的加速,地震活动的强度和频率可能呈现上升趋势。这意味着我们需要更加深入地了解地震的成因机制、活动规律以及潜在影响,以便更好地应对未来可能发生的地震灾害。而历史地震分析作为揭示这些规律和特征的重要手段之一,其紧迫性不言而喻。
另一方面,随着城市化进程的加快和人口密度的增加,地震灾害对人类社会的影响日益凸显。一旦地震发生,其造成的损失往往难以估量。因此,我们需要通过历史地震分析来识别潜在的地震风险区域,制定科学的防灾减灾措施,减少地震灾害对人类社会的影响。这种紧迫性不仅体现在对生命财产安全的保护上,更体现在对社会稳定和经济可持续发展的维护上。
综上所述,地震附近历史地震分析的必要性和紧迫性不容忽视。我们应该高度重视这项工作,加强科研投入和人才培养,推动历史地震分析技术的不断创新和发展,为人类社会提供更加全面、准确的地震灾害预测和应对能力。
本文即在此背景下诞生,文章主要讲解如何使用Java开发语言,结合成熟的SpringBoot框架来加速WebGIS应用的开发,首先讲解在数据库中的相关设计以及实现思路,然后重点讲解如何使用Java来开发地震震中附近历史地震的应用。通过本文的相关知识介绍,相信您一定会掌握如何进行附近历史地震分析有一个深刻的认识,同时抛砖引玉,对其他的类似的WebGIS应用建设提供建设参考。
一、数据库物理模型及空间分析实现 现代的系统软件建设,大多是围绕着数据库来实现的。数据库(请注意这里的数据库可不是指狭义的关系型数据库)指的是所有可以用来存储数据的系统。对于关系型数据库和非关系统数据的知识,不属于博文的重点内容,因此不打算在此详细叙述。为了让大家对空间分析有一个具象的认识,因此这里还是把涉及的相关表进行简单介绍,其次介绍在时空数据库中如何实现相关的需求。
1、数据库物理模型 在这里我们采用与物理世界一一映射的模式来构建时空数据表结构,其实主要的表在前面的相关博客中有所介绍。为方便第一次阅读本博客的朋友也了解相关的表设计。这里再次将其物理表结构罗列出来。
其物理建表语句如下所示(需要注意的是,表结构需要在PostGIS数据库中运行,如果本地或者服务器没有PostGIS,还请先安装相对应的数据库): CREATE TABLE "public"."biz_ceic_earthquake" ( "pk_id" int8 NOT NULL, "auto_flag" varchar(30) COLLATE "pg_catalog"."default", "cata_id" varchar(30) COLLATE "pg_catalog"."default", "cata_type" varchar(30) COLLATE "pg_catalog"."default", "epi_depth" numeric(11,8), "epi_lat" varchar(15) COLLATE "pg_catalog"."default", "epi_lon" varchar(15) COLLATE "pg_catalog"."default", "eq_cata_type" varchar(30) COLLATE "
目录
一、网络协议的基本概念
二、UDP数据报套接字编程
1.套接字的创建
2.绑定套接字
3.接收与发送数据
三、TCP流套接字编程
1.套接字的创建与绑定
接受连接
数据的接收与发送
关闭连接
四、UDP与TCP的适用场景
网络编程是现代计算机科学和工程领域中一个极为重要的主题。无论是构建分布式系统,还是编写互联网应用程序,网络编程的基本原理都潜移默化地影响着系统的架构、性能和可靠性。在这一领域,套接字(Socket)是实现网络通信的基础,特别是UDP(用户数据报协议)和TCP(传输控制协议)的使用,成为了开发者日常工作中的核心内容。本文将深入探讨UDP数据报套接字和TCP流套接字的编程方法及其各自的特点与应用场景。
一、网络协议的基本概念 在深入讨论套接字编程之前,我们首先需要理解UDP和TCP这两种网络协议之间的区别与联系。UDP是一种无连接的、不可靠的传输协议,允许数据报的快速发送,适用于实时要求高但对数据完整性要求不高的应用场景,例如视频直播和在线游戏。相对而言,TCP是一种面向连接的、可靠的传输协议,确保数据的完整性和顺序,适合对可靠性要求较高的应用,如网页浏览和文件传输。
二、UDP数据报套接字编程 1.套接字的创建 在使用UDP进行网络编程时,我们需要首先创建一个UDP套接字。这通常涉及到指定协议族(一般使用AF_INET表示IPv4),套接字类型(SOCK_DGRAM表示数据报),以及协议(通常为0)。
int sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd < 0) { perror("socket creation failed"); exit(EXIT_FAILURE); } 2.绑定套接字 创建完套接字后,通常需要将其绑定到特定的IP地址和端口号,以便接收数据报。绑定操作示例下述代码所示:
struct sockaddr_in servaddr; memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(port); if (bind(sockfd, (const struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) { perror("bind failed"); exit(EXIT_FAILURE); } 3.接收与发送数据 使用UDP套接字进行数据传输的过程非常直观。发送数据时,我们使用sendto函数;接收数据时,我们使用recvfrom函数。以下是一个简单的发送和接收数据的示例:
char buffer[1024]; struct sockaddr_in cliaddr; socklen_t len = sizeof(cliaddr); // 接收数据 int n = recvfrom(sockfd, buffer, sizeof(buffer), 0, (struct sockaddr*)&cliaddr, &len); buffer[n] = '\0'; printf("
一、memcpy函数的使用和模拟实现 1.memcpy函数 1.memcpy函数是针对内存块进行拷贝,拷贝结束后会返回目标空间的起始地址。
2.memcpy函数从source的位置开始向后复制num个字节的数据到destination指向的内存位置。
3.memcpy函数遇到\0时不会停下来。
4.如果source和destination有任何重叠,复制的结果都是未定义的。 //如果source和destination有任何重叠,复制的结果都是未定义的 #include<stdio.h> #include<string.h> #include<assert.h> void* my_memcpy(void* dest, const void* src, size_t num) { void* ret = dest; assert(dest); assert(src); while (num--) { *(char*)dest = *(char*)src; dest = (char*)dest + 1; src = (char*)src + 1; } return ret; } int main() { int arr1[] = { 1,2,3,4,5,6,7,8,9,10 }; my_memcpy(arr1 + 2, arr1, 20); int i = 0; for (i = 0; i < 10; i++) { printf("
这张截图显示的是在VS Code(Visual Studio Code)中选择Python解释器的界面。不同的Python解释器及其虚拟环境列出了可选项,用户可以根据需要选择合适的解释器来运行Python代码。以下是对截图中信息的详细解释:
解释器选择界面 当前选择的解释器:
顶部显示当前选择的解释器 ./Depression/bin/python,其环境名为 Depression。 创建虚拟环境:
+ Create Virtual Environment 选项允许用户创建新的虚拟环境。 输入解释器路径:
Enter interpreter path... 选项允许用户手动输入一个解释器的路径。 可选解释器列表 推荐的解释器 Python 3.11.5 (‘Depression’: venv) ./Depression/bin/python Recommended 标签表示这是推荐使用的解释器。Depression 是虚拟环境的名称。该解释器位于 ./Depression/bin/python。 其他解释器 Python 3.11.9 (‘:conda’: conda) ~/.conda/bin/python
Conda 环境中的Python 3.11.9解释器。解释器路径为 ~/.conda/bin/python。 Python 3.11.5 (‘:base’) ~/.anaconda3/bin/python
这也是一个 Conda 环境,位于基础环境(base environment)。解释器路径为 ~/.anaconda3/bin/python。 Python 3.8.18 (‘:pytorch’) ~/.anaconda3/envs/pytorch/bin/python
Conda 环境中的Python 3.8.18解释器,环境名为 pytorch。解释器路径为 ~/.anaconda3/envs/pytorch/bin/python。 Python 3.11.6 64-bit /usr/local/bin/python3
系统全局的Python 3.11.6解释器。解释器路径为 /usr/local/bin/python3。 Python 3.11.6 64-bit /opt/homebrew/bin/python3
内容大纲:
常用的五个注解
测试用例顺序指定
参数化
测试套件
断言
1. 常用的五个注解 1.1 @Test 通常情况下,我们输入要写在main方法下,此时我想直接输出:
@Test void Test01(){ System.out.println("================第一个测试用例"); } 1.2 @BeforeAll @AfterAll BeforeALL在Test修饰的方法之前运行,AfterAll在之后运行
@Test void Test01(){ System.out.println("================第一个测试用例"); } @Test void Test02(){ System.out.println("================第二个测试用例"); } @BeforeAll static void Start(){ System.out.println("=================开始测试==============="); } @AfterAll static void End(){ System.out.println("=================结束测试==============="); } 1.3 @BeforeEach @AfterEach @Test void Test01(){ System.out.println("================第一个测试用例"); } @Test void Test02(){ System.out.println("================第二个测试用例"); } @BeforeEach void StartV1(){ System.out.println("***开始执行***");} @AfterEach void EndV1(){ System.out.println("***结束执行***"); } 2. 测试用例顺序指定 @TestMethodOrder(MethodOrderer.OrderAnnotation.class) @Order(2) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) @Order(2) @Test void Test01(){ System.
我是一名软件开发培训机构老师,我的学生已经有上百人通过了华为OD机试,学生们每次考完试,会把题目拿出来一起交流分享。(华为od机试)
重要:2024年5月-2024年11月,考的都是OD统一考试(D卷),题库已经整理好了,命中率95%以上,OD统一考试(D卷)题库链接奉上:http://t.csdnimg.cn/q31Ee
历史题库往下看(这部分题目可以练练手,华为od机试)
OD统一考试(B卷),题库如下:
以下是100分题目:
序号题目分值通过率类型1座位调整100100%OD统一考试(B卷)2最长连续子序列100100%OD统一考试(B卷)3最长的顺子100100%OD统一考试(B卷)4最远足迹100100%OD统一考试(B卷)5最大花费金额100100%OD统一考试(B卷)6字符串统计100100%OD统一考试(B卷)7字符串加密100100%OD统一考试(B卷)8字符串分割100100%OD统一考试(B卷)9支持优先级的队列100100%OD统一考试(B卷)10整型数组按个位值排序100100%OD统一考试(B卷)11找车位100100%OD统一考试(B卷)12选修课100100%OD统一考试(B卷)13需要打开多少监控器100100%OD统一考试(B卷)14五子棋迷100100%OD统一考试(B卷)15文件目录大小100100%OD统一考试(B卷)16完全二叉树非叶子部分后序遍历100100%OD统一考试(B卷)17跳房子I100100%OD统一考试(B卷)18太阳能板最大面积100100%OD统一考试(B卷)19数组拼接100100%OD统一考试(B卷)20数字反转打印100100%OD统一考试(B卷)21数列描述100100%OD统一考试(B卷)22事件推送100100%OD统一考试(B卷)23日志排序100100%OD统一考试(B卷)24热点网站统计100100%OD统一考试(B卷)25求最小步数100100%OD统一考试(B卷)26判断一组不等式是否满足约束并输出最大差100100%OD统一考试(B卷)27内存资源分配100100%OD统一考试(B卷)28模拟消息队列100100%OD统一考试(B卷)29路灯照明问题100100%OD统一考试(B卷)30流水线100100%OD统一考试(B卷)31矩阵元素的边界值100100%OD统一考试(B卷)32矩阵稀疏扫描100100%OD统一考试(B卷)33矩阵扩散100100%OD统一考试(B卷)34喊7的次数重排100100%OD统一考试(B卷)35勾股数元组100100%OD统一考试(B卷)36高矮个子排队100100%OD统一考试(B卷)37分苹果100100%OD统一考试(B卷)38分割数组的最大差值100100%OD统一考试(B卷)39分班100100%OD统一考试(B卷)40非严格递增连续数字序列100100%OD统一考试(B卷)41单词接龙100100%OD统一考试(B卷)42磁盘容量100100%OD统一考试(B卷)43关联子串100100%OD统一考试(B卷)44阿里巴巴找黄金宝箱(V)100100%OD统一考试(B卷)45阿里巴巴找黄金宝箱(III)100100%OD统一考试(B卷)46阿里巴巴找黄金宝箱(II)100100%OD统一考试(B卷)47阿里巴巴找黄金宝箱(I)100100%OD统一考试(B卷)48VLAN资源池100100%OD统一考试(B卷)49TLV解码100100%OD统一考试(B卷)50补种未成活胡杨100100%OD统一考试(B卷)51IPv4地址转换成整数100100%OD统一考试(B卷)52书籍叠放100100%OD统一考试(B卷)53荒岛逃生游戏100100%OD统一考试(B卷)54找出两个整数数组中同时出现的整数100100%OD统一考试(B卷)55战场索敌100100%OD统一考试(B卷)56计算误码率100100%OD统一考试(B卷)57 增强的strstr100100%OD统一考试(B卷)58座位调整100100%OD统一考试(B卷) 以下是200分题目:
序号题目分值通过率类型1最小循环子数组200100%OD统一考试(B卷)2最小传输时延200100%OD统一考试(B卷)3最佳的出牌方法200100%OD统一考试(B卷)4字符串划分200100%OD统一考试(B卷)5字符串化繁为简200100%OD统一考试(B卷)6字符串比较200100%OD统一考试(B卷)7找出两个整数数组中同时出现的整数200100%OD统一考试(B卷)8招聘200100%OD统一考试(B卷)9战场索敌200100%OD统一考试(B卷)10跳格子2200100%OD统一考试(B卷)11跳格子200100%OD统一考试(B卷)12跳房子II200100%OD统一考试(B卷)13书籍叠放200100%OD统一考试(B卷)14任务最优调度200100%OD统一考试(B卷)15评论转换输出200100%OD统一考试(B卷)16目录删除200100%OD统一考试(B卷)17篮球比赛200100%OD统一考试(B卷)18解压报文200100%OD统一考试(B卷)19计算疫情扩散时间200100%OD统一考试(B卷)20计算误码率200100%OD统一考试(B卷)21会议接待200100%OD统一考试(B卷)22荒岛逃生游戏200100%OD统一考试(B卷)23服务失效判断200100%OD统一考试(B卷)24分积木200100%OD统一考试(B卷)25不开心的小朋友200100%OD统一考试(B卷)27宜居星球改造计划200100%OD统一考试(B卷)28计算堆栈中的剩余数字200100%OD统一考试(B卷)29数值同化200100%OD统一考试(B卷)30阿里巴巴找黄金屋(IV)200100%OD统一考试(B卷) 以下是历史真题:
2023年1-5月份机试完整题库如下,共100道原题,这些题目大概率不会在考试中遇到了,但是做完之后,你已然具备了通过考试的能力。每道题目提供了JAVA、Python、C++至少其中一种解法,大家可以当练习题练习下。
序号题目分值时间语言1AI处理器组合1002023JAVA、Python、C++2MVP争夺战1002023JAVA、Python、C++3不爱施肥的小布1002023JAVA、Python、C++4猜字谜1002023JAVA、Python、C++5查找充电设备组合1002023JAVA、Python、C++6查找单入口空闲区域1002023JAVA、Python、C++7查找重复代码1002023JAVA、Python、C++8打印文件1002023JAVA、Python、C++9单词倒序1002023JAVA、Python、C++10分界线1002023JAVA、Python、C++11工作安排1002023JAVA、Python、C++12关联端口组合并1002023JAVA、Python、C++13光伏场地建设规划1002023JAVA、Python、C++14核酸检测人员安排1002023JAVA、Python、C++15货币单位换算1002023JAVA、Python、C++16获得完美走位1002023JAVA、Python、C++17获取最大软件版本号1002023JAVA、Python、C++18简单的自动曝光1002023JAVA、Python、C++19静态代码扫描服务1002023JAVA、Python、C++20开心消消乐1002023JAVA、Python、C++21木板1002023JAVA、Python、C++22任务总执行时长1002023JAVA、Python、C++23日志采集系统1002023JAVA、Python、C++24数组的中心位置1002023JAVA、Python、C++25通信误码1002023JAVA、Python、C++26投篮大赛1002023JAVA、Python、C++27网上商城优惠活动(一)1002023JAVA、Python、C++28微服务的集成测试1002023JAVA、Python、C++29相同数字的积木游戏11002023JAVA、Python、C++30箱子之形摆放1002023JAVA、Python、C++31新员工座位安排系统1002023JAVA、Python、C++32学校的位置1002023JAVA、Python、C++33寻找关键钥匙1002023JAVA、Python、C++34寻找链表的中间结点1002023JAVA、Python、C++35寻找密码1002023JAVA、Python、C++36异常的打卡记录1002023JAVA、Python、C++37优秀学员统计1002023JAVA、Python、C++38预定酒店1002023JAVA、Python、C++39找出通过车辆最多颜色1002023JAVA、Python、C++40找数字1002023JAVA、Python、C++41整理扑克牌1002023JAVA、Python、C++42知识图谱新词挖掘11002023JAVA、Python、C++43字符串解密1002023JAVA、Python、C++44字符串重新排序1002023JAVA、Python、C++45租车骑绿道1002023JAVA、Python、C++46最多提取子串数目1002023JAVA、Python、C++47最小的调整次数1002023JAVA、Python、C++48最左侧冗余覆盖子串1002023JAVA、Python、C++49Linux发行版的数量1002023JAVA、Python、C++50递增字符串2002023JAVA、Python、C++51分奖金2002023JAVA、Python、C++52红黑图2002023JAVA、Python、C++53机房布局2002023JAVA、Python、C++54机器人活动区域2002023JAVA、Python、C++55基站维修工程师2002023JAVA、Python、C++56计算网络信号2002023JAVA、Python、C++57简单的解压缩算法2002023JAVA、Python、C++58快速开租建站2002023JAVA、Python、C++59狼羊过河2002023JAVA、Python、C++60求最大数字2002023JAVA、Python、C++61区间连接器2002023JAVA、Python、C++62区块链文件转储系统2002023JAVA、Python、C++63取出尽量少的球2002023JAVA、Python、C++64去除多余空格2002023JAVA、Python、C++65任务混部2002023JAVA、Python、C++66数字加减游戏2002023JAVA、Python、C++67统计差异值大于相似值二元组个数2002023JAVA、Python、C++68统计匹配的二元组个数2002023JAVA、Python、C++69寻找符合要求的最长子串2002023JAVA、Python、C++70寻找相似单词2002023JAVA、Python、C++71硬件产品销售方案2002023JAVA、Python、C++72云短信平台优惠活动2002023JAVA、Python、C++73字母组合2002023JAVA、Python、C++74组合出合法最小数2002023JAVA、Python、C++75组装新的数组2002023JAVA、Python、C++76最差产品奖2002023JAVA、Python、C++77最佳对手2002023JAVA、Python、C++78最少数量线段覆盖2002023JAVA、Python、C++79最优资源分配2002023JAVA、Python、C++80计算网络信号2002023JAVA、Python、C++81计算数组中心位置2002023JAVA、Python、C++82计算快递业务主站点2002023JAVA、Python、C++ 83
不含101的数2002023JAVA、Python、C++84对称字符串1002023JAVA、Python、C++85上班之路2002023JAVA、Python、C++86贪心的商人1002023JAVA、Python、C++87垃圾信息拦截2002023JAVA、Python、C++88天然蓄水库2002023JAVA、Python、C++ 89
Excel单元格数值统计2002023JAVA、Python、C++90查找树中元素2002023JAVA、Python、C++91单核CPU任务调度2002023JAVA、Python、C++92服务中心的最佳位置2002023JAVA、Python、C++93快递投放问题2002023JAVA、Python、C++94士兵过河II2002023JAVA、Python、C++95统一限载货物数最小值2002023JAVA、Python、C++96信号发射和接收2002023JAVA、Python、C++97寻找核酸检测点2002023JAVA、Python、C++98优雅数组2002023JAVA、Python、C++99最多等和不相交连续子序列2002023JAVA、Python、C++100最多几个直角三角形2002023JAVA、Python、C++ 华为员工,每年增加15000人左右,补充途径只有3种: 1、校招8000人,难度中,22届毕业生特别多,其他大厂招的少,难度大了许多;
2、OD转华为6000人,难度低,社招,工作内容、强度与华为员工一样,薪资待遇也基本一致;
3、17级以上社招,难度高,简历筛选要求高,面试难度大,有大厂经历的可以走这条路,薪资待遇还是可以匹配的。
华为OD是什么? OD全称(Outsourcing Dispacth)模式,目前华为和德科联合招聘的简称。目前华为社招大多数是OD招聘,17级以下都为OD模式,OD模式也是华为提出的一种新的用工形式,定级是13-17级,属于华为储备人才,每年都会从OD项目挑优秀员工转为正编。--考来的,描述的很准确。
薪资待遇: D1-D5对应薪资10K-35K左右,年终奖2-4个月,周六加班双倍工资,下个月发。入职OD会有一定薪资上涨,之后每年一次加薪,OD转华为一次加薪。
华为OD值得去吗? 与一个武大本科生的聊天:
很多人介意OD的名号,如果你有意向加入华为的话,可以走OD流程。
认识了一个武大本科学生,考研二战失败,走了华为OD流程,他给我讲了他来OD的原因:
1、他认为,第一份工作去大厂很重要,但是对于他这种没有工作经验的人来说,去其他的大厂比较困难,走华为OD流程是最简单的路。
2、他了解OD转华为的流程,有在华为的同学也证实过,他相信自己有能力,1年后转华为。
3、更注重工作的实质,不太在乎名声。
华为OD的面试流程: 1、投递简历,同时提供姓名、邮箱、手机号、身份证号,用于锁定。
2、机试。3到算法题,400分满分,一般1个月的准备时间。
3、2轮技术面试,关注手撕代码、基础知识、项目经历
4、HR面和主管面。
5、录用审批,发offer。
华为转正流程: 入职满1年,专业级,部门有hc,最近1次绩效A(每年2次绩效)
华为od机试;华为od机试真题;2024华为od题库;华为od面试手撕代码;华为od技术面试;华为od机考;华为od d卷;华为od面试八股文;华为od机考题库;华为od手撕代码题;华为od机考是原题吗;华为od 智能驾驶;华为od岗位是什么意思;华为od和外包的区别;华为od等级d1-d5薪资表;华为od是什么意思; 工作华为od和正式员工区别;华为od岗位有必要去吗;华为od机试题库及答案;华为od岗位是什么意思;华为od等级d1-d5薪资表;华为od是什么;华为od岗位有必要去吗;华为od面试;华为od和外包的区别;华为od面试啥也不会就让过了;华为od岗能干多少年;华为od招聘;华为od是外包吗
第一步:下载ideaIC-2024.1.4 方法1:在线链接 IntelliJ IDEA – the Leading Java and Kotlin IDE (jetbrains.com)
选择社区版进行下载
方法2:百度网盘 链接:https://pan.baidu.com/s/1ydS6krUX6eE_AdW4uGV_6w?pwd=sbfm 提取码:sbfm --来自百度网盘超级会员V4的分享
第二步:安装ideaIC-2024.1.4 (1)点击下一步 (2)更改安装路径 (3)选择配置文件 选择下面这两个,然后点击下一步:
(4)点击安装 (5)点击完成 第三步:下载JDK1.8 方法1:在线下载链接 往下拉,找到java8,如下:
选择版本:
方法2:百度网盘 上面选择的64版本的jdk,我也已经下载到百度网盘里面了,链接如下:
链接:https://pan.baidu.com/s/1sRBs_k_2ri2OsHWEFEWYsg?pwd=kfsm 提取码:kfsm --来自百度网盘超级会员V4的分享
第四步:安装jdk1.8 (1)点击下一步 (2)修改安装位置 (3)修改目标文件夹 (4)安装完成 第五步:给JDK1.8配置环境变量 ①右键此电脑点击属性 ②点击高级系统设置 ③点击环境变量 ④点击新建 变量名:
JAVA_HOME 变量值:
对应的是自己刚刚的安装位置:
在我这个里面是E:\44JDK1.8
大家需要根据自己的安装路径进行修改。
然后点击确定:
⑤点击系统变量里面的path 输入内容为:
%JAVA_HOME%\bin ⑥验证是否设置成功
打开cmd,输入:
java -version 效果:
说明jdk1.8安装的没问题!
第六步:IDEA的使用 (1)点击新建项目 (2)设置文件保存路径以及jdk (3)运行程序 (4)修改背景颜色 点击file-settings按钮:
更改颜色为白色:
更改完成!
好啦!
希望能够帮助到大家,祝大家生活愉快!
目录
引言
垂直智能体(Vertical Agent)
水平智能体(Horizontal Agent)
混合智能体(Hybrid Agent)
结论
引言 在人工智能(AI)领域,智能体(Agent)是指具有自主行为和决策能力的计算系统。随着人工智能技术的发展,智能体的应用越来越广泛,并在各行各业中发挥着重要作用。根据智能体的应用范围和功能特点,智能体通常可以分为垂直智能体(Vertical Agent)、水平智能体(Horizontal Agent)和混合智能体(Hybrid Agent)。本文将对这三种类型的智能体进行详细分析,探讨它们在不同领域中的作用,以及各自的优劣势。
垂直智能体(Vertical Agent) 定义与特点 垂直智能体专注于某一特定领域或任务,具有高度的专业化和定制化特点。这类智能体的设计目标是解决特定领域内的复杂问题,因此在该领域中往往表现出色。
优势 专业化程度高:由于垂直智能体针对特定任务进行优化,因此在该任务中的表现往往优于通用智能体。效率高:专注于特定领域,使得垂直智能体在处理相关任务时具有效率高、响应快的特点。可靠性强:在特定领域内,垂直智能体经过大量训练和优化,具有较高的稳定性和可靠性。 劣势 适应性差:垂直智能体的适用范围有限,难以处理超出其专业领域的任务。开发成本高:由于需要针对特定领域进行深度定制和优化,开发垂直智能体的成本较高。 实例分析 医疗领域:IBM Watson for Oncology IBM Watson for Oncology 是一款专注于癌症治疗的垂直智能体。该系统通过分析大量的医疗数据和文献,帮助医生制定个性化的治疗方案。在癌症治疗这一特定领域,Watson 展现了强大的数据处理和分析能力,提高了治疗的准确性和效率。然而,其应用范围局限于肿瘤学,在其他医疗领域则无法发挥作用。
金融领域:自动交易系统 自动交易系统是一种应用于金融领域的垂直智能体。它通过分析市场数据和历史交易记录,自动执行买卖操作,以实现最大化收益。由于专注于金融市场,自动交易系统能够迅速响应市场变化,提高交易效率。然而,其在其他非金融领域的应用价值有限。
水平智能体(Horizontal Agent) 定义与特点 水平智能体,也称为通用智能体,旨在处理多种类型的任务或领域。相比垂直智能体,水平智能体具有更广泛的应用能力和适应性。
优势 适应性强:水平智能体能够处理多种类型的任务,具有较强的适应性和灵活性。应用广泛:由于其通用性,水平智能体可以在多个领域中发挥作用,具有广泛的应用前景。开发成本较低:相比垂直智能体,水平智能体的开发不需要进行深度定制,因此开发成本相对较低。 劣势 专业化程度低:由于需要兼顾多种任务,水平智能体在特定任务中的表现往往不如垂直智能体。效率较低:处理多种任务时,水平智能体的响应速度和效率可能不及专注于单一任务的垂直智能体。 实例分析 家庭助手:Google Assistant Google Assistant 是一款典型的水平智能体,旨在帮助用户处理各种日常任务。无论是设置提醒、播放音乐还是控制智能家居设备,Google Assistant 都能够提供高效的服务。其广泛的应用能力使其成为现代家庭中的得力助手。然而,在某些专业领域,如医疗诊断或金融分析,Google Assistant 的表现则不如专业的垂直智能体。
企业管理:IBM Watson IBM Watson 是一款通用型的AI平台,能够应用于医疗、金融、教育等多个领域。通过自然语言处理和机器学习技术,Watson 可以帮助企业进行数据分析、客户服务和决策支持。尽管其应用范围广泛,但在某些特定领域内,Watson 的表现可能不及专门的垂直智能体。
混合智能体(Hybrid Agent) 定义与特点 混合智能体结合了垂直智能体和水平智能体的特点,既能在特定领域内表现出色,又具有一定的适应性和灵活性。这类智能体通过集成多种技术和功能,旨在实现综合性的智能服务。
优势 综合性能强:混合智能体既具有垂直智能体的专业化能力,又具备水平智能体的广泛适应性。灵活性高:能够处理多种任务,适应不同领域的需求。用户体验好:通过集成多种功能,混合智能体可以提供更全面和便捷的服务。 劣势 开发复杂度高:需要结合多种技术和功能,开发混合智能体的难度和复杂度较高。成本较高:由于涉及多个领域和任务,混合智能体的开发和维护成本较高。 实例分析 智能城市管理:智慧城市平台 智慧城市平台是一种典型的混合智能体,集成了交通管理、环境监测、能源管理等多种功能。通过实时数据分析和智能决策,智慧城市平台能够提高城市管理的效率和质量。例如,智慧交通系统可以根据交通流量数据优化信号灯控制,减少交通拥堵;环境监测系统可以实时监测空气质量,提供预警和应对措施。尽管智慧城市平台涉及多个领域,但其综合性能和灵活性使其成为现代城市管理的有力工具。
局域网概述 局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网具有如下的一些主要优点: 能方便地共享昂贵的外部设备、主机以及软件、数据。从一个站点可访问全网。 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。 提高了系统的可靠性、可用性和残存性。
媒体共享技术:
静态划分信道 频分复用 时分复用 波分复用 码分复用动态媒体接入控制(多点接入) 随机接入 受控接入 ,如多点线路探询(polling),或轮询。 传统以太网 以太网的工作原理 两个标准 DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。 IEEE 的 802.3 标准。 DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。 严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网 为了使数据链路层能更好地适应多种局域网标准,802 委员会就将局域网的数据链路层拆成两个子层: 逻辑链路控制 LLC (Logical Link Control)子层 媒体接入控制 MAC (Medium Access Control)子层。与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,不管采用何种协议的局域网对 LLC 子层来说都是透明的 CSMA/CD 协议 最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。
传统以太网的连接方法 传统以太网可使用的传输媒体有四种:
铜缆(粗缆或细缆)
铜线(双绞线)
光缆
这样,以太网就有四种不同的物理层。
网卡 网卡的作用 网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。
我是一名软件开发培训机构老师,我的学生已经有上百人通过了华为OD机试,学生们每次考完试,会把题目拿出来一起交流分享。
重要:2024年5月份开始,考的都是OD统一考试(D卷),题库已经整理好了,命中率95%以上。
2024年5-10月份考的就是这个题库,都是原题,大家如果发现解法不全的请私信我,谢谢。
据参加D卷考试的同学反映,目前D卷题目跟C卷是一样的,发现新题会及时跟新。祝大家考试顺利。
以下是D卷100分题目:
序号题目分值通过率试卷类型语言1寻找身高相近的小朋友100100%OD统一考试(C卷)python、java、C++2围棋的气100100%OD统一考试(C卷)python、java、C++3用连续自然数之和来表达整数100100%OD统一考试(C卷)python、java、C++4开源项目热榜100100%OD统一考试(C卷)python、java、C++5API集群负载统计100100%OD统一考试(C卷)python、java、C++6整数对最小和100100%OD统一考试(C卷)python、java、C++7素数之积100100%OD统一考试(C卷)python、java、C++8CPU算力分配100100%OD统一考试(C卷)python、java、C++9最大坐标值100100%OD统一考试(C卷)python、java、C++10寻找最富裕的小家庭100100%OD统一考试(C卷)python、java、C++11查找接口成功率最优时间段100100%OD统一考试(C卷)python、java、C++12分割均衡字符串100100%OD统一考试(C卷)python、java、C++13虚拟游戏理财100100%OD统一考试(C卷)python、java、C++14靠谱的车100100%OD统一考试(C卷)python、java、C++15执行时长100100%OD统一考试(C卷)python、java、C++16万能字符单词拼写100100%OD统一考试(C卷)python、java、C++17来自异国的客人100100%OD统一考试(C卷)python、java、C++18求最多可以派出多少支团队100100%OD统一考试(C卷)python、java、C++19最长子字符串的长度(一)100100%OD统一考试(C卷)python、java、C++20机场航班调度程序100100%OD统一考试(C卷)python、java、C++21数的分解100100%OD统一考试(C卷)python、java、C++22智能成绩表 100100%OD统一考试(C卷)python、java、C++23提取字符串中的最长数学表达式并计算100100%OD统一考试(C卷)python、java、C++24小朋友来自多少小区100100%OD统一考试(C卷)python、java、C++25停车场车辆统计100100%OD统一考试(C卷)python、java、C++26执行任务赚积分100100%OD统一考试(C卷)python、java、C++27最多购买宝石数目100100%OD统一考试(C卷)python、java、C++28求字符串中所有整数的最小和100100%OD统一考试(C卷)python、java、C++29堆内存申请100100%OD统一考试(C卷)python、java、C++30测试用例执行计划100100%OD统一考试(C卷)python、java、C++31按身高和体重排队100100%OD统一考试(C卷)python、java、C++32攀登者1100100%OD统一考试(C卷)python、java、C++33分披萨100100%OD统一考试(C卷)python、java、C++34计算面积100100%OD统一考试(C卷)python、java、C++35考勤信息100100%OD统一考试(C卷)python、java、C++36字符串变换最小字符串100100%OD统一考试(C卷)python、java、C++37分配土地100100%OD统一考试(C卷)python、java、C++38小华最多能得到多少克黄金100100%OD统一考试(C卷)python、java、C++39英文输入法100100%OD统一考试(C卷)python、java、C++40游戏分组100100%OD统一考试(C卷)python、java、C++41精准核酸检测100100%OD统一考试(C卷)python、java、C++42内存冷热标记100100%OD统一考试(C卷)python、java、C++43密码解密100100%OD统一考试(C卷)python、java、C++44密码输入检测100100%OD统一考试(C卷)python、java、C++45螺旋数字矩阵100100%OD统一考试(C卷)python、java、C++46火星文计算100100%OD统一考试(C卷)python、java、C++47灰度图恢复100100%OD统一考试(C卷)python、java、C++48找朋友100100%OD统一考试(C卷)python、java、C++49求幸存数之和100100%OD统一考试(C卷)python、java、C++50多段线数据压缩100100%OD统一考试(C卷)python、java、C++51生成哈夫曼树100100%OD统一考试(C卷)python、java、C++52机器人仓库搬砖100100%OD统一考试(C卷)python、java、C++53数组去重和排序100100%OD统一考试(C卷)python、java、C++54找座位100100%OD统一考试(C卷)python、java、C++55计算三叉搜索树的高度100100%OD统一考试(C卷)python、java、C++56小明找位置100100%OD统一考试(C卷)python、java、C++57转盘寿司100100%OD统一考试(C卷)python、java、C++58 手机App防沉迷系统100100%OD统一考试(C卷)python、java、C++59传递悄悄话100100%OD统一考试(C卷)python、java、C++60小明找位置100100%OD统一考试(C卷python、java、C++61字符串序列判定100100%OD统一考试(C卷python、java、C++62田忌赛马100100%D统一考试(C卷python、java、C++63幼儿园篮球游戏100100%D统一考试(C卷python、java、C++64部门人力资源分配100100%D统一考试(C卷python、java、C++65Wonderland游乐园100100%D统一考试(C卷python、java、C++66特殊的加密算法100100%D统一考试(C卷python、java、C++67信道分配100100%D统一考试(C卷python、java、C++68最大N个数与最小N个数的和100100%D统一考试(C卷python、java、C++68字符串序列判断100100%D统一考试(C卷python、java、C++69剩余银饰的重量100100%D统一考试(C卷python、java、C++70查找众数及中位数100100%D统一考试(C卷python、java、C++71简易内存池100100%D统一考试(C卷python、java、C++ 以下是D卷200分题目:
序号题目分值通过率试卷类型语言1分月饼 200100%OD统一考试(C卷)python、java、C++2找城市200100%OD统一考试(C卷)python、java、C++3两个字符串间的最短路径问题200100%OD统一考试(C卷)python、java、C++4电脑病毒感染200100%OD统一考试(C卷)python、java、C++5项目排期200100%OD统一考试(C卷)python、java、C++65G网络建设200100%OD统一考试(C卷)python、java、C++7可以组成网络的服务器200100%OD统一考试(C卷)python、java、C++8田忌赛马200100%OD统一考试(C卷)python、java、C++9 任务处理200100%OD统一考试(C卷)python、java、C++10石头剪刀布游戏200100%OD统一考试(C卷)python、java、C++11最小矩阵宽度200100%OD统一考试(C卷)python、java、C++12部门人力分配200100%OD统一考试(C卷)python、java、C++13中文分词模拟器200100%OD统一考试(C卷)python、java、C++14Wonderland200100%OD统一考试(C卷)python、java、C++15跳马200100%OD统一考试(C卷)python、java、C++16符号运算200100%OD统一考试(C卷)python、java、C++17孙悟空吃蟠桃200100%OD统一考试(C卷)python、java、C++18最长子字符串的长度(二)200100%OD统一考试(C卷)python、java、C++19求满足条件的最长子串的长度200100%OD统一考试(C卷)python、java、C++20最长的指定瑕疵度的元音子串200100%OD统一考试(C卷)python、java、C++21抢7游戏200100%OD统一考试(C卷)python、java、C++22贪心歌手200100%OD统一考试(C卷)python、java、C++23考古学家200100%OD统一考试(C卷)python、java、C++24解密犯罪时间200100%OD统一考试(C卷)python、java、C++25员工派遣200100%OD统一考试(C卷)python、java、C++26字符串拼接200100%OD统一考试(C卷)python、java、C++27查找一个有向网络的头节点和尾节点200100%OD统一考试(C卷)python、java、C++28文件缓存系统200100%OD统一考试(C卷)python、java、C++29园区参观路径200100%OD统一考试(C卷)python、java、C++30快递员的烦恼200100%OD统一考试(C卷)python、java、C++31文本统计分析200100%OD统一考试(C卷)python、java、C++32矩阵匹配200100%OD统一考试(C卷)python、java、C++33图像物体的边界200100%OD统一考试(C卷)python、java、C++34 寻找最优的路测线路200100%OD统一考试(C卷)python、java、C++35运输时间200100%OD统一考试(C卷)python、java、C++36高效货运200100%OD统一考试(C卷)python、java、C++37贪吃的猴子200100%OD统一考试(C卷)python、java、C++38最长的指定瑕疵度的元音子串200100%OD统一考试(C卷)python、java、C++39反射计数200100%OD统一考试(C卷)python、java、C++40伐木工200100%OD统一考试(C卷)python、java、C++41二叉树的广度优先遍历200100%OD统一考试(C卷)python、java、C++42攀登者2200100%OD统一考试(C卷)python、java、C++43二叉树的计算200100%OD统一考试(C卷)python、java、C++44学生重新排队200100%OD统一考试(C卷)python、java、C++45智能驾驶200100%OD统一考试(C卷)python、java、C++46路口最短时间问题200100%OD统一考试(C卷)python、java、C++47跳格子3200100%OD统一考试(C卷)python、java、C++48模拟目录管理200100%OD统一考试(C卷)python、java、C++49根据IP查找城市200100%OD统一考试(C卷)python、java、C++50会议室占用时间200100%OD统一考试(C卷)python、java、C++51亲子游戏200100%OD统一考试(C卷)python、java、C++52启动多任务排序200100%OD统一考试(C卷)python、java、C++53欢乐的周末200100%OD统一考试(C卷)python、java、C++54找数字200100%OD统一考试(C卷)python、java、C++55推荐多样性200100%OD统一考试(C卷)python、java、C++56数据单元的变化替换200100%OD统一考试(C卷)python、java、C++57模拟数据序列化传输200100%OD统一考试(C卷)python、java、C++ 送给看到最后的人,华为OD机考交流QQ群:291649488,里面可以OD统一考试(C卷D卷)交流机试、面试经验,我也会定期答疑~
华为OD招聘,每年的1-5月份是高峰期,这个阶段呢,offer多,面试简单,薪资高,大家可以利用年前的时间好好准备和复习,取得一个不错的机试成绩~
机考题库大概每半年更新一次,也就是说一直到2024年10月份,考的都是这份题库,大家有充足的时间来复习和准备~
另外,这些题目是给大家参考的,考试过程中要注意重复率,重复率过高很判定作弊嫌疑,切记~
华为OD面试案例参考:华为OD面试(2024年)面试案例分享
华为od机试;华为od机试真题;2024华为od题库;华为od面试手撕代码;华为od技术面试;华为od机考;华为od d卷;华为od面试八股文;华为od机考题库;华为od手撕代码题;华为od机考是原题吗;华为od 智能驾驶;华为od岗位是什么意思;华为od和外包的区别;华为od等级d1-d5薪资表;华为od是什么意思; 工作华为od和正式员工区别;华为od岗位有必要去吗;华为od机试题库及答案;华为od岗位是什么意思;华为od等级d1-d5薪资表;华为od是什么;华为od岗位有必要去吗;华为od面试;华为od和外包的区别;华为od面试啥也不会就让过了;华为od岗能干多少年;华为od招聘;华为od是外包吗
虚拟现实与增强现实的融合艺术:Xcode中的沉浸式开发指南 随着技术的发展,虚拟现实(VR)和增强现实(AR)正逐渐成为改变我们与数字世界互动方式的前沿技术。Xcode作为苹果的官方集成开发环境(IDE),提供了一套强大的工具和框架,支持开发者为iOS和macOS创建引人入胜的VR和AR体验。本文将详细介绍如何在Xcode中进行应用的虚拟现实和增强现实开发。
引言 VR和AR技术为用户带来了全新的沉浸式体验,它们在游戏、教育、医疗和零售等多个领域展现出巨大的潜力。Xcode通过集成的ARKit和SceneKit框架,为VR和AR应用的开发提供了坚实的基础。
Xcode中的VR和AR开发概述 Xcode支持VR和AR开发的主要工具和框架包括:
ARKit ARKit是苹果的框架,用于在iOS设备上开发增强现实应用。它提供了高级的设备运动跟踪、环境理解以及与虚拟对象的交互功能。
SceneKit SceneKit是一个用于构建3D场景的框架,支持VR和AR内容的创建。它与ARKit紧密集成,简化了3D场景的渲染和管理。
Reality Composer Reality Composer是一个可视化的拖放工具,允许开发者在macOS上快速创建和预览AR体验。
开始VR和AR开发 步骤1:设置Xcode项目 在Xcode中创建一个新的项目,并选择支持ARKit的模板。
步骤2:配置项目设置 确保在项目的"Build Settings"中启用了ARKit支持,并配置了必要的权限。
步骤3:使用ARKit和SceneKit 编写代码来使用ARKit的API进行设备跟踪和环境理解,并使用SceneKit来创建和管理3D场景。
步骤4:设计交互 设计用户与虚拟对象的交互方式,如手势识别、凝视选择等。
步骤5:测试应用 使用ARKit的设备模拟器或真实设备进行测试。
代码示例:使用ARKit和SceneKit创建基本AR体验 配置ARKit视图 import ARKit class ViewController: UIViewController, ARSCNViewDelegate { @IBOutlet var sceneView: SCNView! override func viewDidLoad() { super.viewDidLoad() // 设置场景 sceneView.scene = SCNScene() sceneView.delegate = self // 配置ARKit会话 let configuration = ARWorldTrackingConfiguration() sceneView.session.run(configuration) } // ARSCNViewDelegate方法实现 func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) { // 更新场景和处理用户交互 } } 添加虚拟对象 func addVirtualObject(named name: String, at position: SCNVector3) { guard let virtualObjectScene = SCNScene(named: name) else { return } // 将场景中的根节点添加到我们的场景视图中 for child in virtualObjectScene.
1 文件操作 1.1 什么时候用文件操作? 打开文档写东西看东西拿文档做统计 在python 文档操作作用
存储数据读取数据 打开文件有什么用?
读取数据,写入数据不管什么数据都可以用open打开,如可复制一张图片 1.2 open() 读取,默认‘r'模式 #打开文件 file = open("python.txt") #放置在统一文件 #读取数据 date = file.read() print(date) #关闭文件,不关闭会占内存,可能导致别的调用无法使用 file.close() 写入 #写入时文件不存在 file = open("new1_file.txt") """FileNotFoundError: [Errno 2] No such file or directory: 'new1_file.txt'""" 写入常见问题: A、乱码问题: #写入文件 #在w模式下,如果之前没有这个文件,将会创建新文件 file = open("new_file.txt", mode ='w') #如果没有权限和模式去操作一份不存在的文件可能会导致报错 #写入数据 file.write("这是python") #关闭文件 file.close() 写入的中文乱码,即写入的编码模式不对,一般默认时ASCII编码,仅支持英文,需要改为国际通用标准UTF-8或者GDK
修改: #写入中文需要指定编码模式为utf-8,GDK file = open("new_file.txt", mode ='w', encoding= 'utf-8') #写入数据 file.write("这是python") #关闭文件 file.close() 不会乱码了 B、内容覆盖问题 "
前言
📫 大家好,我是南木元元,热爱技术和分享,欢迎大家交流,一起学习进步!
🍅 个人主页:南木元元
在JavaScript中,原型和原型链是非常重要的知识点,只有理解了它们,才能更好地理解js。
目录
构造函数
什么是原型
原型对象和构造函数关系
原型链
显式与隐式原型
__proto__与[[Prototype]]
原型链的概念
Object.getPrototypeOf()方法
hasOwnProperty() 方法
结语
构造函数 创建对象有两种方式:一种是最常见的对象字面量,一种就是通过构造函数来创建。
1.对象字面量
// 对象字面量 let person = { name: "南木元元", age: 22, species: "人类", greet: function() { console.log("Hello!"); } }; 2.构造函数
// 构造函数创建对象 function Person(name, age) { this.name = name; this.age = age; this.species = '人类'; this.greet = function() { console.log("Hello!"); }; } let person1 = new Person("南木元元", 22); 构造函数和普通函数本质上没什么区别,只不过使用了new关键字创建对象的函数,被叫做了构造函数。构造函数的首字母一般是大写,用以区分普通函数。任何函数只要使用 new 操作符调用就是构造函数,而不使用 new 操作符调用的函数就是普通函数。
Leetcode 3228. Maximum Number of Operations to Move Ones to the End 1. 解题思路2. 代码实现 题目链接:3228. Maximum Number of Operations to Move Ones to the End 1. 解题思路 这一题不难分析得到,要获得最多的操作次数,只需要从左往右依次执行即可,此时,每一次遇到一个10结构,能够执行的操作次数就是其左侧所有的1的个数。
我们将其翻译为代码语言即可。
2. 代码实现 给出python代码实现如下:
class Solution: def maxOperations(self, s: str) -> int: pre = 0 ans = 0 for i, ch in enumerate(s): if ch == "1": pre += 1 elif i > 0 and s[i-1] == "1": ans += pre return ans 提交代码评测得到:耗时91ms,占用内存17.
IF 配置:
public interface BlogMapper { // 查询博客 List<Blog> queryBlogIF(Map map); } <select id="queryBlogIF" parameterType="map" resultType="blog"> select * from mybatis.blog where 1=1 <if test="title != null"> and title = #{title} </if> <if test="author != null"> and author = #{author} </if> </select> 测试:
@Test public void queryBlogIF(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); BlogMapper mapper = sqlSession.getMapper(BlogMapper.class); HashMap map = new HashMap(); map.put("title","学好Mybatis"); List<Blog> blogs = mapper.queryBlogIF(map); for (Blog blog : blogs) { System.
一、需求分析 多用途的家具零售电商是指一个在线平台,专门销售各种类型、风格和功能多样化的家具产品,以满足不同用户对家居生活的需求。以下是多用途的家具零售电商的功能和特点:
产品种类丰富:提供各种类型的家具,包括床、沙发、桌子、椅子、柜子、装饰品等,覆盖客厅、卧室、餐厅、办公室等各个空间的家具。
产品分类与搜索:网站会将家具产品按照功能、风格、材质、价格等进行分类,方便用户查找和选择符合自己需求的家具。
详细描述:提供详细的产品描述,包括尺寸、材质、颜色、特点等信息,帮助用户了解产品细节。
图片展示:提供高清图片展示产品外观,让用户可以清晰地查看家具的外观和细节。
用户评价和评分:用户可以查看其他用户对产品的评价和评分,了解产品的实际使用体验。
购物车和结算:用户可以将喜欢的家具添加到购物车,方便统一结算购买。
促销活动:定期推出促销活动、特价商品或打折优惠,吸引用户购买。
定制服务:一些网站可能提供家具定制服务,让用户可以根据自己的需求定制家具。
配送服务:提供配送服务,用户可以选择送货上门或自提等方式。
退换货政策:明确的退换货政策,保障用户的购物权益。
客户服务:提供客服支持,用户可以通过在线聊天、电话或邮件咨询和投诉。
家具搭配建议:一些网站可能提供家具搭配建议或室内设计建议,帮助用户更好地选择和搭配家具。
通过这些功能,多用途的家具零售电商为用户提供了便捷、多样化的购物体验,帮助他们选择合适的家具,打造舒适、时尚的家居环境。
2、技术架构分析: 前端技术: 使用HTML、CSS、JavaScript等技术实现网页的展示和交互功能,确保用户友好的界面体验。
后端技术: 采用常见的后端开发语言和框架,如Java Spring、Python Django、Node.js等,处理业务逻辑和数据库交互。
数据库: 使用关系型数据库(如MySQL、PostgreSQL)或者NoSQL数据库(如MongoDB)存储用户信息、商品信息、订单信息等数据。
云计算服务: 借助云计算服务(如AWS、阿里云、腾讯云)搭建商城的服务器和存储资源,保证系统的稳定性和扩展性。
安全技术: 采用SSL加密技术保障用户数据传输的安全性,实施权限管理、防火墙等措施保护系统安全,同时,采用HTTPS协议传输数据,使用身份验证和授权机制保护系统安全。
数据分析: 利用数据分析工具对用户行为、销售数据等进行分析,优化商城的运营策略和用户体验。
API:前端与后端通过RESTful API进行数据交换和通信。
3、设计思路 用户友好性:界面简洁直观,易于操作,减少用户的学习成本。模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。权限控制:根据用户角色设定不同的权限,确保用户只能访问其权限范围内的功能。数据安全:对用户数据进行加密存储、访问控制等措施,保护用户隐私和系统安全。Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。日志功能:记录关键操作日志,保留操作痕迹,便于审计和追踪问题。系统性能:考虑系统的性能优化,包括减少不必要的数据读写、合理利用缓存等,提高系统响应速度。 二、界面展示 1、系统首页
【广告栏】
2、商品导航栏
【家具推荐】
3、商品详情
【页面预览】
4、购物车
【页面栏】
5、登录页
6、联系我们
7、博文
8、博文详情
三、资源获取 多用途的商品销售电商网页模板.zip_购物网站网页设计模板资源-CSDN文库
本文详细讲解了如何使用 JQuery+HTML+JavaScript 实现移动端页面中的地图位置选取功能。本文逐步展示了如何构建基本的地图页面,如何通过点击地图获取经纬度和地理信息,以及如何实现模糊查询地址并在地图上标注。最后,提供了完整的代码示例,并总结了基于地图API进行地图位置选点的开发过程,帮助开发者快速上手并应用到实际项目中。
一、百度地图API介绍 百度地图API为开发者提供了强大的地理信息服务,可以轻松实现地图显示、位置选取、路线规划等功能。这里主要介绍2.0版本和3.0版本的功能示例,以及路书的介绍。
2.0 API
2.0版本的API功能相对较少,主要用于简单的地图展示和位置标注,以下是一个基本的示例:
var map = new BMap.Map("container"); var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 15); 3.0 API
3.0版本增加了更多的功能和优化,提升了地图加载速度和交互体验,以下是一个展示地图和标注的示例:
var map = new BMap.Map("container"); var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 15); var marker = new BMap.Marker(point); map.addOverlay(marker); 百度路书
路书是百度地图API提供的一种记录和展示路线的功能,可以用来展示旅游路线、出行规划等,以下是一个基本示例:
var driving = new BMap.DrivingRoute(map, { renderOptions: { map: map, autoViewport: true } }); driving.search("起点", "终点"); 本文将采用百度地图3.0 API来实现地图位置选点的功能,包括地图展示、点击地图选点、地理信息转经纬度、位置的模糊查询等。
二、初始化地图页面 首先,创建一个基本的HTML页面,并引入百度地图API:
<!DOCTYPE html> <html> <head> <title>点击地图获取地址和经纬度</title> <meta http-equiv="
easy Excel EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网
**java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便
完成写 导入依赖 <!-- EasyExcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.3.1</version> </dependency> 创建实体类 @Data @AllArgsConstructor @NoArgsConstructor public class Student { @ExcelProperty(value = "姓名", index = 0) private String name; @ExcelProperty(value = "年龄", index = 1) private Integer age; @ExcelProperty(value = "性别", index = 2) private String sex; @ExcelProperty(value = "地址", index = 3) private String address; } 测试 @Test void write(){ // 文件输出的路径 String fileName = System.
🔥 个人主页:空白诗 文章目录 一、引言二、准备工作三、使用gTTS实现文本转换为语音详细步骤 四、人工智能与TTS技术五、总结 一、引言 文本转换为语音(Text-to-Speech,简称TTS)技术是人工智能的重要组成部分,广泛应用于智能助手、导航系统、读屏软件和智能家居等领域。
TTS技术使得机器能够将书面文字转换为自然流畅的语音,这不仅提升了用户体验,还在无障碍设计中发挥了重要作用。
本文将介绍如何使用Python的gTTS(Google Text-to-Speech)库实现简单的TTS功能。
二、准备工作 在开始之前,需要确保已安装Python和pip。然后通过pip安装gTTS库:
pip install gtts 或者是
pip3 install gtts 三、使用gTTS实现文本转换为语音 以下是一个使用gTTS库将文本转换为语音并保存为MP3文件的完整示例代码。
from gtts import gTTS import os # 需要转换为语音的文本 text = "Hello, this is a sample text to speech conversion using gTTS library in Python." # 选择语言(这里选择英语) language = 'en' # 使用gTTS将文本转换为语音 speech = gTTS(text=text, lang=language, slow=False) # 保存为音频文件 speech.save("output.mp3") # 播放音频文件(可选) os.system("start output.mp3") # 对于Windows # os.system("mpg321 output.mp3") # 对于Linux # os.
目录
引言
OS Copilot简介
OS Copilot的环境准备
创建实验资源
安全设置
设置安全组端口
创建阿里云AccessKey
准备系统环境
OS Copilot的实操
场景一、用OS Copilot写脚本和注释代码 场景二、使用OS Copilot进行对话问答
场景三、使用OS Copilot辅助编程学习
清理资源
结束实操
结论 引言 在这次实验场景中,我们将在阿里云ECS上体验OS Copilot产品。OS Copilot是阿里云操作系统团队基于大模型构建的OS智能助手。它具有自然语言问答、辅助命令执行、系统运维调优等功能,帮助我们更好地使用Linux,提升阿里云的使用体验。
它主要是面向日常使用Linux系统的用户,体验OS Copilot关于OS的问题咨询、辅助运维、编程学习等功能,帮助入门我们更好的体验学习Linux系统知识,帮助运维人员高效解决系统问题,帮助开发人员提升编程效率。
OS Copilot简介 本场景主要涉及以下云产品和服务:
云服务器ECS、Alibaba Cloud Linux、智能助手OS Copilot
云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。一台云服务器ECS实例等同于一台虚拟服务器,内含CPU、内存、操作系统、网络配置、磁盘等基础的组件。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。
Alibaba Cloud Linux是阿里云研发的稳定、安全、高性能的服务器操作系统,是目前阿里云上部署规模最大的操作系统之一,可以为用户应用部署在Web服务、云原生应用、大数据、数据库、AI等场景中提供系统软件维护、安全加固、性能优化、多架构支持、内核热补丁等操作系统服务。
OS Copilot是基于大模型构建的操作系统智能助手,支持命令行自然语言问答、辅助命令执行、阿里云CLI调用、系统运维和调优等功能,帮助您更好地使用Alibaba Cloud Linux,提高Alibaba Cloud Linux的使用效率。
OS Copilot的环境准备 进入实操前,请确保阿里云账号满足以下条件:
已通过实名认证且账户余额大于100元。
云资源产生的费用需您自行承担,云起实验室不会向您征收额外费用。
所有实验操作将保留至您的账号,请谨慎操作。
本实验预计产生费用0.14/时,0.8元/G公网流量。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
实操结束后,您可以选择继续付费保留资源,否则资源将自动释放。
1、首先点击活动链接,进入实操:使用操作系统智能助手OS Copilot解锁操作系统运维与编程 - 云起实验室-在线实验-上云实践-阿里云开发者社区-阿里云官方实验平台-阿里云
创建实验资源 创建成功,如图所示:
点击查看资源
在云产品资源列表,您可以查看本场景涉及的云产品资源信息。
安全设置 重置云服务器ECS的登录密码。
在实例详情页签的基本信息区域,单击重置密码。