2022年4月16日freewheel机试题

article/2025/9/27 8:47:48

具体题目名字记不太清了,大概如下

第一题

给搜索二叉树的前序遍历结果,重构搜索二叉树,返回根结点。
思路:递归维护两个值,一个是可插入的最大值和可插入的最小值。
1、当前插入的值满足小于可插入的最大值和大于可插入的最小值,就插入,然后递归其左右子树
2、当前插入的值不满足上述条件,返回None,回溯父节点
3、当前插入次数等于总结点数,返回None,结束

class TreeNode:def __init__(self, x):self.val = xself.left = Noneself.right = Noneclass Solution:def reConstructBST(self , preSlice):if not preSlice:return Noneself.index = 0return self.dfs(preSlice, 99999999, -9999999)def dfs(self, preSlice, up, down):if self.index == len(preSlice):return Noneif preSlice[self.index] > up or preSlice[self.index] < down:return Noneroot = TreeNode(preSlice[self.index])self.index += 1root.left = self.dfs(preSlice, root.val, down)root.right = self.dfs(preSlice, up, root.val)return root

第二题

第二题是先顺时针90度翻转W * H的矩阵,然后螺旋打印,
螺旋打印如下:
翻转矩阵比较简单,代码如下:

def rotate_90(matrix):if not matrix:return []h = len(matrix)l = len(matrix[0])new_res = []for j in range(l):new_res.append([])for i in range(h):i = h - i - 1new_res[j].append(matrix[i][j])return new_res

螺旋打印,笔试写的有点复杂,但是思路很简单,从0,0开始,定义一个方向flag和当前搜索的坐标,flag初始化是向下搜索,当数组越界后,flag转向右搜索,数组越界后,flag转向上搜索,越界后转向左搜索,越界后向下搜索。在搜索的同时把搜索过的位置值改None,碰到None的时候也一样修改搜索的flag。
整体代码如下:

class Solution:def antiSpiralOrder(self , matrix ):# write code hereif not matrix:return []h = len(matrix)l = len(matrix[0])new_res = []for j in range(l):new_res.append([])for i in range(h):i = h - i - 1new_res[j].append(matrix[i][j])total = h * lres = []flag = "d"x,y = 0,0while total > 0:res.append(new_res[y][x])new_res[y][x] = -1total -= 1if flag == 'd':y += 1if y >= l:flag = 'r'y -= 1x += 1continueif new_res[y][x] == -1:flag = 'r'y -= 1x += 1elif flag == 'r':x += 1if x >= h:flag = 'u'x -= 1y -= 1continueif new_res[y][x] == -1:flag = 'u'x -= 1y -= 1elif flag == 'u':y -= 1if y < 0:flag = 'l'y += 1x -= 1continueif new_res[y][x] == -1:flag = 'l'y += 1x -= 1elif flag == 'l':x -= 1if x < 0:flag = 'd'x += 1y += 1continueif new_res[y][x] == -1:flag = 'd'x += 1y += 1return res

第三题

输出数组的最长等比子序列长度,和leetcode1027最长等差子序列长度异曲同工。
动态规划即可:

import collections
class Solution:def longestGeometricSeqLength(self , nums ):mem = [collections.defaultdict(int) for _ in nums]res = 1for i in range(len(nums)):for j in range(i + 1, len(nums)):v = nums[j] * 1.0 / nums[i]mem[j][v] = max(mem[i][v] + 1, mem[j][v])res = max(res, mem[j][v])return res + 1s  = Solution()
print(s.longestGeometricSeqLength([75,72,27,25,5,9,12,1,3,1]))

http://chatgpt.dhexx.cn/article/eyOYP1Ku.shtml

相关文章

访FreeWheel总架构师邓就庆:架构与成长之道

特约记者&#xff1a;卢亿雷&#xff0c;精硕科技(AdMaster)技术副总裁兼总架构师&#xff0c;CCF&#xff08;中国计算学会&#xff09;大数据专委委员&#xff0c;北京航空航天大学特聘教授。 受访嘉宾&#xff1a;邓就庆&#xff08;Jack&#xff09;&#xff0c;FreeWheel高…

迈向云原生:名企FreeWheel应用架构演进 | 文末粉丝福利

点击“博文视点Broadview”&#xff0c;获取更多书讯 FreeWheel是美国传媒巨头康卡斯特&#xff08;Comcast&#xff09;集团旗下的高端视频广告技术供应商&#xff0c;90%以上的美国主流电视媒体和运营商都在使用FreeWheel的广告平台和技术。本文将带你了解名企FreeWheel核心业…

FreeWheel容力:着眼行业 我们走在视频广告变革的浪尖上

随着大数据、人工智能时代的到来&#xff0c;越来越多的传统企业面临着转型的压力。FreeWheel作为提供高端互联网视频广告投放、监测、预测、增值等关键解决方案的外企&#xff0c;有着很多国际化大数据方案落地的经验。CSDN记者有幸与FreeWheel公司高级副总裁容力&#xff0c;…

FreeWheel是一家怎样的公司?

在知乎上有一个帖子&#xff0c;题目就是“FreeWheel是一家怎么样的公司&#xff1f;”这个帖子获得了85,860的阅读量以及数百条赞同和评论&#xff0c;可以说在“公司怎样系列”的外企中应该是名列前茅了。而在老孙所知晓的众多外企中&#xff0c;FreeWheel应该算是一家蛮特别…

如何把Windows 7英文系统转换为中文系统

如何把Windows 7英文系统转换为中文系统 Windows 7 Ultimate版才有多语言(MUI)支持&#xff0c;但是并非一定要MUI版本才能安装新语言。Windows 7虽然没有MUI的支持&#xff0c;但使用Vistalizator工具可以巧妙避开这一功能&#xff0c;直接将语言包植入操作系统&#xff0c;同…

win7 professional 英文版 改 中文

转载自&#xff1a;http://blog.sina.com.cn/s/blog_6f108d3e0100pl1k.html Windows 7 语言包微软 Windows Update 官方服务器下载For Windows 7 32位&#xff1a;简体:http://download.windowsupdate.com/msdownload/update/software/updt/2009/08/windows6.1-kb972813-x86-zh…

此语言无法安装在此计算机上win7,win7系统无法安装英文语言包解决方法

有用户由于学习或工作需要&#xff0c;需要给win7旗舰版系统安装英文语言包&#xff0c;但是下载了windows6.1-kb2483139-x64-en-us_9b9c8a867baff2920507fbf1e1b4a158572b9b87.exe后点击安装&#xff0c;提示安装失败&#xff0c;尝试在安全模式下安装也失败了。使用lp.cab 以…

wifidog接口文档

wifidog是搭建无线热点认证系统的解决方案之一&#xff0c;他比nocat更适合互联网营销思路。目前支持openwrt系统&#xff0c;他实现了路由器和认证服务器的数据交互&#xff0c;在路由器方是用C语言代码&#xff0c;通过wifidog程序和linux iptables防火墙实现接入用户的认证跳…

公共场所wifi认证解决方案wifidog+authpuppy

服务器&#xff1a;linux mint 17.3 authpuppy 路由器&#xff1a;DB120 wifidog 手机一部 一、在OpenWrt的路由器上安装Wifidog应用程序 安装Wifidog程序有两种方式&#xff0c;一种是在刷了OpenWrt的路由器上直接安装Wifidog&#xff1b;或者是把Wifidog直接编译进OpenW…

wifidog 配置文件

下面回到路由器&#xff0c;编辑wifidog.conf&#xff0c;一般情况下&#xff0c;我们之后配置ExternalInterface&#xff0c;GatewayInterface和AuthServer这三项就可以&#xff0c;其他默认。下面是我的配置&#xff1a; opk安装包&#xff1a;luci-app-wifidog-all.ipk 链…

Portal Server搭建(wifidog安装)

可以参考这篇文档&#xff1a; http://dev.wifidog.org/wiki/doc/install/ubuntu/auth-server#Configurelocaleinwifidog.conf 一、 安装前准备 打开终端&#xff08;用普通用户进入终端&#xff0c;不要用超级用户&#xff09;。 sudo apt-get update sudo apt-get instal…

wifidog+authpuppy搭建WiFi 接入设备认证测试平台

0&#xff1a;前提 其实搭建认证环境都是基础&#xff0c;重要的是要对WiFidog的代码进行详细的研究&#xff0c;了解清楚wifidog与authpuppy之间进行了哪些数据交互&#xff0c;WiFidog的程序框架及iptables的建立及生效规则&#xff0c;这才是重点。WiFidog和之前nodogsplas…

wifidog authpuppy 服务器搭建

安装环境&#xff08;64位 Ubuntu 14.04.4 LTS \n \l &#xff09;一、安装各种软件包1、apache和php sudo apt-get updatesudo apt-get install apache2 php5 复制代码 2、安装数据库(postgresql或者mysql) sudo apt-get install postgresql 复制代码 3、安装需要的库 sudo ap…

wifidog认证流程图

一. 用户上线 1. 用户访问网络&#xff0c;通过iptables将未认证的用户dnat到wifidog进程&#xff0c;wifidog通过307报文将用户重定向到认证服务器 2. 用户打开认证服务器登录页面&#xff0c;输入用户名密码&#xff0c;发送认证请求 3. 认证成功的话服务器会发送302报文&…

wifidog+authpuppy认证页面的配置

路由器上用的是wifidog client&#xff0c;服务器后端管理用的是authpuppy。 首先&#xff0c;选择自己的操作系统&#xff0c;在http://www.authpuppy.org/doc/Main_Page网站里面&#xff0c;我的操作系统是Linux。 然后到这个网站http://www.authpuppy.org/doc/Getting_Star…

openwrt-看门狗watchdog

一、硬件watchdog和软件watchdog Linux内核不仅为各种不同类型的watchdog硬件电路提供了驱动&#xff0c;还提供了一个基于定时器的纯软件watchdog驱动&#xff0c;软件watchdog基于内核的定时器实现&#xff0c;当内核或中断出现异常时&#xff0c;软件watchdog是无法复位系统…

wifidog认证流程(图文版)

学习使用wifidog一段时间了&#xff0c;觉得这玩意真的不错&#xff0c;虽然有些代码写的不够严谨&#xff0c;运行效率不够高&#xff0c;但是少量人数情况下实现portal是很好的方案。 下面是我摘自一个博客的内容和apfree写的文档中的一部分发上来的&#xff0c;希望能对研究…

wifidog 认证

首先简单介绍一下什么是Portal认证&#xff0c;Portal认证&#xff0c;通常也会叫Web认证&#xff0c;未认证用户上网时&#xff0c;设备强制用户登录到特定站点&#xff0c;用户可以免费访问其中的服务。当用户需要使用互联网中的其它信息时&#xff0c;必须在门户网站进行认证…

Wifidog入门教程

曾经撸了两台K2路由器&#xff0c;刷成了华硕固件。以前就比较好奇什么肯德基&#xff0c;星巴克那种连上wifi就弹出一个页面进行验证什么的&#xff0c;是怎么弄的&#xff0c;昨天发现这个华硕固件里有这个功能&#xff0c;就是wifidog。 首先来看截图&#xff1a; 这里打开w…

wifidog安装以及自写wifidog认证服务器

前言 最近在做关于路由器认证相关的工作&#xff0c;由于需求&#xff0c;认证的过程同往常的网页认证有稍许不同&#xff0c;因此&#xff0c;自己开始尝试编写wifidog的认证服务器&#xff0c;查阅了中外的一些资料&#xff0c;现将经验总结一下。 Wifidog的原理 下图是在…