- 博客(48)
- 收藏
- 关注
原创 华为OD机试-机器人走迷宫
5.有些地方是机器人无法达到的,如标记为 A 的方格,称之为不可达方格,不可达方格不包括墙壁所在的位置6.如下实例图中,陷阱方格有 2 个,不可达方格有 3 个。其中会有不可达方格和陷阱方格.不可达方格为第四行前三个,该机器人在行走路径上不可能走到的方格,陷阱方格如第一行最后两个,走进之后则不能抵达终点.机器人走一个迷宫,给出迷宫的x和y(x*y的迷宫)并且迷宫中有障碍物,输入k表示障碍物有k个,并且会将障碍物的坐标挨个输入.机器人从0,0的位置走到x,y的位置并且只能向x,y增加的方向走,不能回退.
2023-09-04 12:37:29
845
原创 华为OD机试-求满足要求的最长子串
如果找不到满足要求的子串,如全是字母或全是数字,则返回-1。1、只包含1个字母(a-z,A~Z),其余必须是数字;2、字母可以在子串中的任意位置;字符串(只包含字母和数字)
2023-09-04 12:28:23
141
原创 华为OD机试-解密犯罪时间
解密规则为:利用当前出现过的数字,构造下一个距离当前时间最近的时刻,则该时间为可能的犯罪时间。警察在侦破一个案件时,得到了线人给出的可能犯罪时间,形如 “HH:MM” 表示的时刻。例如,“01:35”和“11:08”是合法的,“1:35”和“11:8”是不合法的。根据警察和线人的约定,为了隐蔽,该时间是修改过的,形如HH:SS的字符串,表示推理处理的犯罪时间。1.可以保证现任给定的字符串一定是合法的。形如HH:SS字符串,表示原始输入。每个出现数字都可以被无限次使用。2.最近的时刻可能在第二天。
2023-09-04 12:18:02
215
原创 华为OD机试-贪吃蛇
字母取值为 U、D、L、R、G,其中U、D、L、R分别表示贪吃蛇往上、下、左、右转向,转向时贪吃蛇不移动,G表示贪吃蛇按 当前的方向移动一格。图 2:蛇头向左移动一格,蛇头和食物重叠,注意此时食物的格子成为了新的蛇头,第 1节 身体移动到蛇头位置,第 2节身体移动到第 1节身体位置,以此类推,最后添加第 4节升 起到原来第 3节身体的位置。贪吃蛇初始长度为1,初始移动方向为向左。图 1:截取了贪吃蛇移动的一个中间状态,H表示蛇头,F表示食物,数字为蛇身体各节的 编号,蛇为向左移动,此时蛇头和食物已经相邻。
2023-09-04 12:14:01
132
原创 华为OD-第K长的连续字母字符串长度
给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。
2023-08-23 08:59:36
739
原创 华为OD-分积木/分苹果
然后 3 的二进制也是 0011,所以弟弟认为两组积木等重,接受这种分配方案。哥哥实际能分到 5+6=11 块积木。要求输出哥哥能拿的最大实际重量。如果给定的积木没法按弟弟视角分成重量相等的两组,就输出‘NO’。然而弟弟只会二进制并且加法不进位。例如三块积木 3,5,6 分成两组 [3] 和 [5,6]哥哥弟弟分一堆积木,每块积木重量不同。弟弟要求平分两组,每组数量可以不同但总重量必须相等。
2023-08-23 08:55:27
753
原创 华为OD-非严格递增连续数字序列
输出字符串中包含的最长的非严格递增连续数字序列长度。求字符串中包含的最长的非严格递增连续数字序列长度。为最长的非严格递增连续数字序列,所以长度为。输入一个字符串仅包含大小写字母和数字。输入一个字符串仅包含大小写字母和数字。12234属于非严格递增数字序列。
2023-08-23 08:45:52
828
原创 华为OD-乱序数组两数之和绝对值最小
每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。因为|nums[0]+nums[2]|=|-3+5|=2最小,给定一个随机的整数数组(可能存在正整数和负整数)一个通过空格空格分割的有序整数序列字符串,最多。并返回这两个数(按从小到大返回)以及绝对值。请你在该数组中找出两个数,其和的绝对值。两个数和两数之和绝对值。所以返回-3 5 2。
2023-08-21 14:13:48
563
原创 华为OD-整数对最小和
给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值。
2023-08-21 14:08:17
692
原创 华为OD-移掉K位数字
给定一个以字符串表示的数字 num 和一个数字 k ,从 num 中移除 k 位数字,使得剩下的数字最小。如果可以删除全部数字,则结果为 0。数据范围:num的长度满足 1≤105 1≤k≤n≤105 ,保证 num 中仅包含 0~9 的十进制数。3.删除之后的num,请去掉前导0(不算在移除次数中)第一行输入一个字符串数字,一个数字K。2.num是合法的数字,不含前导0。1.num仅有数字组成。
2023-08-21 11:16:33
583
原创 华为OD-字符串加密
有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,将所得结果作为新字母表开头,并将新建立的字母表中未出现的字母按照正常字母表顺序加入新字母表。上面其他用字母表中剩余的字母填充完整。在对信息进行加密时,信息中的每个字母被固定于顶上那行,并用下面那行的对应字母一一取代原文的字母(字母字符的大小写状态应该保留)。数据范围:1≤100 1≤n≤100 ,保证输入的字符串中仅包含小写字母。
2023-08-21 11:04:16
713
原创 华为OD-最大括号深度
2、如果字符串"X"的深度是x,字符串"Y"的深度是y,那么字符串"XY"的深度为max(x,y) 3、如果"X"的深度是x,那么字符串"(X)"的深度是x+1。例如: "()()()"的深度是1,"((()))"的深度是3。2、如果"X"和"Y"都是合法的括号匹配序列,"XY"也是一个合法的括号匹配序列。3、如果"X"是一个合法的括号匹配序列,那么"(X)"也是一个合法的括号匹配序列。例如: "","()","()()","((()))"都是合法的括号序列。1、空串""是一个合法的括号匹配序列。
2023-08-21 10:51:01
617
原创 华为OD-按索引范围翻转文章片段
翻转后的英⽂⽂章⽚段,所有单词之间以⼀个半⾓空格分隔进⾏输出。例如输入字符串 I am a developer.第⼆个参数为翻转起始单词下标(下标从0开始)则输出 developer. a am I。第⼀个参数为英⽂⽂章内容即英⽂字符串。标点符号和普通字母一样处理。第三个参数为结束 单词下标。翻转指定区域的单词顺序。输入一个英文文章片段。使⽤换⾏隔开三个参数。
2023-08-21 10:45:53
395
原创 华为OD机试-数列描述
【题目描述】给定两个长度为 n 的整数数列 A 和 B。再给定 q 组查询,每次查询给出两个整数 x 和 y,求满足 Ai >= x 且 Bi >= y 这样的 i 的数量。对于 100% 的数据,1
2023-08-15 19:27:48
246
原创 华为OD机试-多数组合并
合并规则,从每个数组里按顺序取出固定长度的内容合并到新的数组中,则直接取出剩余部分的内容放到新的数组中,继续下一行。如样例1,获得长度3,先遍历第一行,获得2,5,6;现在有多组整数数组,需要将他们合并成一个新的数组。再遍历第二行,获得1,7,4;行是需要合并的数组,不同的数组用回车换行分隔,再回到第一行,获得7,按顺序拼接成最终结果。再遍历第二行,获得3,4;如果该行不足固定长度或者已经为空,第一行是每次读取的固定长度,输出一个新的数组,用逗号分隔。第二行是整数数组的数目。取完的内容会删除掉,
2023-08-15 18:56:28
289
原创 华为OD机试-5键键盘的输出
输入为一行,为简化解析,用数字 12345代表 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键的输入,数字用空格分隔。【5键键盘的输出】有一个特殊的 5键键盘,上面有 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键。4、当有字母被选择时,a和ctrl-v这两个有输出功能的键会先清空选择的字母,再进行输出。ctrl-x将当前选择的 字母复制到剪贴板,并清空选择的字母;3、当没有选择字母时,ctrl-c和 ctrl-x无效。ctrl-v将当前剪贴板里的字母输出到屏幕;
2023-08-15 18:52:00
537
原创 华为OD机试-数据分类
(4个字节大小)的4个字节相加对一个给定值。请找到有效类型中包含数据最多的类型,请找到有效类型中包含数据最多的类型,如果得到的结果小于一个给定的值。为有效类型,其类型为取模的值。并输出该类型含有多少个数据。如果得到的结果大于或者等于。并输出该类型含有多少个数据。个数据为需要分类的数据。个字节相加后的结果分别是。就是有效类型,其类型为。就是有效类型,其类型为。个数据为需要分类的数据。
2023-08-15 16:42:52
263
原创 华为OD机试-字符串序列判定
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。字符串 t 可能会很长(长度n ~= 500,000),而 s 是个短字符串(长度 <=100)。输出true或者是false,true表示是s是t的子序列,false表示s不是t的子序列。给定两个字符串 s和 t ,判断 s是否为 t 的子序列。字符串t的长度 1<=n<=500000。字符串s的长度 1<=m<=100。
2023-08-15 16:23:52
1024
原创 华为OD机试-射击比赛成绩
如果一个选手成绩小于三个 则认为选手的所有成绩无效 排名忽略该选手。如果选手的成绩之和相等,则成绩相等的选手按照其ID降序排列。3号选手的成绩为53 80 55最高三个成绩的和为 188。由于3和5成绩相等 且5 > 3 所以输出为5,3,7,4。4号选手的成绩为24 39 76 66最高三个和为181。5号选手的成绩为53 80 55 最高三个和为188。7号选手成绩为68 16 100 最高三个和184。包含多个选手若干次射击的成绩分数。表示参与每次射击的选手对应的成绩。比较各个选手最高三个成绩的和。
2023-08-15 16:12:32
164
原创 华为OD机试-最大数
给定一个长度为n的数组nums,数组由一些非负整数组成,现需要将他们进行排列并拼接,每个数不可拆分,使得最后的结果最大,返回值需要是string类型,否则可能会溢出。数据范围:1≤n≤100,0≤nums[i]≤10000。进阶:时间复杂度O(nlogn) ,空间复杂度:O(n)
2023-08-15 15:49:17
221
原创 华为OD机试-字符串分割
子串为12abc、abCABc、4aB@,第一个子串保留,后面的子串每3个字符一组为abC、ABc、4aB、@,abC中小写字母较多,转换为abc,ABc中大写字母较多,转换为ABC,4aB中大小写字母都为1个,不做转换,@中没有字母,连起来即12abc-abc-ABC-4aB-@子串为12abc、abCABc、4aB@,第一个子串保留,后面的子串每12个字符一组为abCABc4aB@,这个子串中大小写字母都为4个,不做转换,连起来即12abc-abCABc4aB@输出转换后的字符串。
2023-08-15 15:24:41
303
原创 python读取excel数据参数化爬虫请求
背景:业务方提供了一批线上数据(搜索关键词),在页面漏出快筛项投放广告活动,测试过程中发现,提供的数据中存在无效数据(搜索无结果),需要把无效的垃圾数据找出来过滤掉解决思路:python爬虫请求相应接口,解析接口返回数据,判断当前关键词是否有效;实施步骤:python读取Excel文件,获取关键词参数 拼接请求url,使用python进行爬虫请求 解析接口返回结果,判断当前...
2019-11-07 19:32:14
1019
原创 mysql分组统计占比/百分比
需求:统计当前数据库user_tasks表中,不同status字段值对应的记录条数及占比sql语句:SELECT `status`, number, concat(round(number / total * 100.00, 2), '%') percentFROM ( SELECT * FROM ( SELECT...
2019-05-16 10:12:35
28341
2
原创 mysql安装及主从库配置
一、搭建单个实例1.安装依赖包yum install cmake make gcc gcc-c++ biso ncurses ncurses-devel 2.手动创建创建数据目录 cd /usr/local/ mkdir mysql cd mysql/ 3.新建mysql用户组和用户,并改变新建数据目录的属组和属主:groupadd my...
2019-02-19 21:27:06
360
原创 Tomcat+Jdk测试环境搭建
一、服务器软件安装(Jdk+Tomcat)1、 下载软件安装包下载方式1:有安装包,可用scp、rz等命令上传至目标服务器 下载方式2:wget命令从外网下载(现在很多网站有登录认证,直接下载的话下载的只是一个下载页,解决办法就是先在下载站点登录,登录之后用得到的下载链接wget) 注意:下载的Jdk和Tomcat版本要和开发编译代码的Jdk、Tomcat版本一致,否则可能无法正常运行...
2018-10-16 19:51:14
1519
原创 Linux升级Python版本
linux自带的python是2.6版本的,用习惯了2.7.x,所以想升级python21.下载源码包,后面的下载链接直接在python官网找的,如果想安装更高的版本自行更换wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz2.解压压缩包tar xvf Python-2.7.10.tgz3.指定安装路径cd Python-...
2018-07-04 21:28:20
9501
1
原创 python爬虫实战-豆瓣小组搜索关键字话题
又到了苦逼的换房季,饱受黑中介之苦的我听说豆瓣有租房话题,决定去看一看。打开豆瓣傻眼了,全都是租房话题,一条一条找我想要的目的地。决定写个小程序快速找一找先给一下最终代码:#coding=utf8__author__ = 'zengzhan.jiang'__date__ = 2018 / 5 / 5import requestsfrom bs4 import BeautifulSoup...
2018-05-17 09:42:47
2939
原创 Linux安装和使用reids服务
一、安装获取redis资源wget http://download.redis.io/releases/redis-4.0.8.tar.gz解压tar xzvf redis-4.0.8.tar.gz安装cd redis-4.0.8makecd srcmake install PREFIX=/usr/local/redis移动配置文件到安装目录下cd ../m...
2018-05-01 14:51:37
259
原创 解决Jenkins报告在浏览器无法显示问题
在使用jenkins定时启动并收集测试报告的过程中,发现在jenkins上配置的HTML Report打开之后样式不对,页面一片空白:打开开发者模式,发现页面有很多脚本报错,提示有很多资源文件被禁止加载了,百度之后,发现这个是jenkins的安全策略设置,默认的设置为:sandbox; default-src 'none'; img-src 'self'; style-src 'self'
2018-01-17 15:24:05
6748
2
原创 Flask项目部署(Nginx+Gunicorn)
Flask项目部署(Nginx+Gunicorn)flask项目刚开始在服务器上部署的时候,没有选择任何框架,只是在本地安装了python之后,直接命令行启动运行的。这样部署服务是可用的,但是经常会挂掉。同时,由于这种模式只能开单线程,性能也比较差。为了解决稳定性的问题,决定使用Nginx+Gunicorn+flask部署服务,目的在于提高服务的稳定性,提高服务的性能。一.项目文件准备
2017-04-28 14:43:42
4053
原创 Javascript获取指定日期
Javascript获取指定日期 近期在做一个项目统计的页面,需要动态获取今天、昨天、近一周、近一年的统计数据。具体的效果是在页面点击不同Button,加载不同时间段的数据。效果图如下:实现设计:Step1:获取指定时间的日期数据Step2:用当前起止时间进行搜索代码实现:1.定义日期格式化方法:Date.prototype.Format = funct
2017-04-27 20:46:23
2679
原创 Web缓存机制简介
Web缓存机制简介一.浏览器缓存与离线缓存1.1Browser cache和APP cache更新机制示意图Browser cache更新示意图App cache更新示意图其中browser cache的机制大家都很清楚了, 其中离线应用的更新是: 除了第一次访问是直接拉取server的, 然后后台更新app cache之外, 其余的情况都是
2017-03-14 10:32:14
494
原创 Python测试环境巡检工具
Python测试环境巡检测试过程中,由于测试环境机器较多且全都是在虚拟机上做的,经常会有某些机器挂掉导致站点访问出错的问题,手动去一个一个Ping实在是麻烦,于是用Python写了一个小脚本,来批量Ping测试。实现思路:一、设计要求:1.目标机器的IP可配置2.可以一次性Ping多台机器3.Ping测试的结果可查询4.如果有Ping不通的机器,可以主动邮件通知二、
2016-12-19 10:36:26
2552
原创 Fiddler使用技巧及常见问题
Fiddler使用技巧及常见问题一、会话列表中添加显示服务器IP和应用服务器:二、无法代理本地web服务器的访问请求三、fiddler模拟限速四、解决HTTPS请求显示“Tunnelto 443”五、Fiddler安装证书六、测试HTTPS协议,使不同协议请求显示不同颜色
2016-12-16 12:42:23
6246
原创 从数据库动态加载菜单栏
从数据库动态加载菜单栏最近组内有个技术学习项目—用Python写一个Web站点,我领取的任务是将站点菜单可配置,从数据库中读取数据,然后动态构建。基本的思路是这样:把需要显示的菜单数据存储在数据库,页面加载的时候,JS从后台读取数据,在前端构建Dome并正确显示。第一步:设计数据库1.1.数据库字段设计ID:菜单节点记录唯一识别字段,设为主键Name:菜单节点的名称Sh
2016-12-02 19:53:49
16158
原创 Python连接MySql数据库
Python连接MySql数据库连接数据库1.安装pymsql:pip install pymysql2.建立数据库连接文件dbBase.py,编辑文件内容:import pymysqlclass DBConnect: def db_connect(DATABASE_URL): conn = pymysql.connect(host=host, port=p
2016-11-17 11:22:46
1136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人