首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【综合笔试题】难度 35,近期小厂面试原题

Tag : 「DFS」、「二进制枚举」、「模拟退火」、「随机化」、「启发式搜索」 给定一个字符串数组 arr,字符串 s 是将 arr 某一子序列字符串连接所得的字符串,如果 s 中的每一个字符都只出现过一次...由于使用 int 进行表示,因而可以使用「位运算」来判断某个字符是否可以被追加到当前状态中; DFS 过程中维护一个 total,代表后续未经处理的字符串所剩余的“最大价值”是多少,从而实现剪枝; 使用...然后使用「二进制枚举」的方式,枚举某个字符串是否被选择。 举个, (110)_{2} 代表选择前两个字符串, (011)_{2} 代表选择后两个字符串,这样我们便可以枚举出所有组合方案。...调整成比较宽松的参数可以跑赢「二进制枚举」,但为了以后增加数据不容易被 hack,还是使用 N=400 & fa=0.90 的搭配。 「模拟退火」的几个参数的作用在 这里 说过了,不再赘述。...上共有 1916 道题目,部分是有锁题,我们将先把所有不带锁的题目刷完。

28420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    刷穿力扣(1~30)

    电话号码的字母组合 ---- DFS 递归的每一层视作对 digits[0] 所对应映射 "xxx" 的枚举 每一层中,利用循环枚举 "xxx" 的每一位,然后继续递归 当递归的层数 u == digits.length...两两交换链表中的节点 ---- 模拟 用一个 ListNode t 指向当前要交换的节点对中的左节点(下一次交换的前一个节点) 则每次交换过程中,左右节点分别为 l = t.next, r = t.next.next...删除有序数组中的重复项 ---- 模拟 由于数组单调且元素唯一,显然有 nums[i] < nums[i + 1] 设 idx 为去重后数组的下标,flag 当前维护的值 若 flag < nums[i...移除元素 ---- 模拟 设 idx 为去重后的数组下标 若 nums[i] == val 直接跳过 否则直接修改 nums[idx ++] = nums[i] 即可 class Solution {...检查结果变量 res 是否大于Integer.MAX_VALUE - (1 是,则结果溢出,直接返回 Integer.MIN_VALUE。

    36050

    3分钟快速实现:9种经典排序算法的可视化

    如何表示数组 如何得到随机采样数组,数组有无重复数据 如何实现排序算法 如何把数组可视化出来 一、如何表示数组 Python提供了list类型,很方便可以表示C++中的数组。...二、如何得到随机采样数组,数组有无重复数据 假设我希望数组长度是100,而且我希望数组的大小也是在[0,100)内,那么如何得到100个随机的整数呢?可以用random库。...因为在排序过程中,每次修改数组,都希望能够实时修改图片并输出,matplotlib确实很方便,但是matplotlib的效率实在是不高,而且每次修改数组前后的两幅图片其实是差不多的。...数组中主要有两种操作,一种是对某个idx赋值,一种是交换某两个idx的值。..._bar_width max_col = min_col+self._bar_width min_row = -1-val*self.

    77250

    Top1开源baseline,带你玩科大讯飞数据挖掘比赛

    1.赛题分析 预测性维护是工业互联网应用“皇冠上的明珠”,实现预测性维护的关键是对设备系统或核心部件的寿命进行有效预测。...本赛题由中科云谷科技有限公司提供某类工程机械设备的核心耗损性部件的工作数据,包括部件工作时长、转速、温度、电压、电流等多类工况数据。...2.赛题难点 主办方并没有给出确定的训练集,因自变量并非一一对应结构化,如何构建合理有效的训练集是关键。...3.数据预处理 数据中有大量的负值和突变数据存在,我尝试一些方法,发现效果并不好,如何处理这一部分数据暂时没有找到比较好方案。如果大家有比较好处理方法,也可以一起交流讨论。...另外构建一个可扩展的基础框架在比赛中是非常重要的,这也本次分享的核心之一。 b.开源代码参考Github 深度学习与Python,专注于深度学习、机器学习前沿知识与资讯

    97240

    我用Python,3分钟快速实现,9种经典排序算法的可视化

    如何表示数组 如何得到随机采样数组,数组有无重复数据 如何实现排序算法 如何把数组可视化出来 一、如何表示数组 python提供了list类型,很方便可以表示C++中的数组。...二、如何得到随机采样数组,数组有无重复数据 假设我希望数组长度是100,而且我希望数组的大小也是在[0,100)内,那么如何得到100个随机的整数呢?可以用random库。...因为在排序过程中,每次修改数组,都希望能够实时修改图片并输出,matplotlib确实很方便,但是matplotlib的效率实在是不高,而且每次修改数组前后的两幅图片其实是差不多的。...数组中主要有两种操作,一种是对某个idx赋值,一种是交换某两个idx的值。..._bar_width max_col = min_col+self._bar_width min_row = -1-val*self.

    78920

    我用 Python 3分钟实现9种经典排序算法的可视化

    如何实现排序算法 如何把数组可视化出来 01 如何表示数组 python提供了list类型,很方便可以表示C++中的数组。...02 如何得到随机采样数组,数组有无重复数据 假设我希望数组长度是100,而且我希望数组的大小也是在[0,100)内,那么如何得到100个随机的整数呢?可以用random库。...因为在排序过程中,每次修改数组,都希望能够实时修改图片并输出,matplotlib确实很方便,但是matplotlib的效率实在是不高,而且每次修改数组前后的两幅图片其实是差不多的。...数组中主要有两种操作,一种是对某个idx赋值,一种是交换某两个idx的值。..._bar_width max_col = min_col+self._bar_width min_row = -1-val*self.

    66940

    使用 Temporal Fusion Transformer 进行时间序列预测

    目前来看表格类的数据的处理还是树型的结构占据了主导地位。但是在时间序列预测中,深度学习神经网络是有可能超越传统技术的。 为什么需要更加现代的时间序列模型?...另外一个性能良好的DNN实现是Multi-Horizon Quantile Recurrent Forecaster(MQRNN)。但是它没有提供如何解释这些特征重要程度的指导。...本文将在一个非常小的数据集上训练 TemporalFusionTransformer,以证明它甚至在仅 20k 样本上也能很好地工作。..."] = data["date"].dt.year * 12 + data["date"].dt.month data["time_idx"] -= data["time_idx"].min()...这里需要设置参数确定哪些特征是分类的还是连续的,哪些是静态的还是时变的,还有选择如何规范化数据。我们分别对每个时间序列进行标准化,并确认其始终都是正值。

    82230

    使用 Temporal Fusion Transformer 进行时间序列预测

    但是在时间序列预测中,深度学习神经网络是有可能超越传统技术的。 为什么需要更加现代的时间序列模型? 专为单个时间序列(无论是多变量还是单变量)创建模型的情况现在已经很少见了。...另外一个性能良好的DNN实现是Multi-Horizon Quantile Recurrent Forecaster(MQRNN)。但是它没有提供如何解释这些特征重要程度的指导。...本文将在一个非常小的数据集上训练 TemporalFusionTransformer,以证明它甚至在仅 20k 样本上也能很好地工作。..."] = data["date"].dt.year * 12 + data["date"].dt.month data["time_idx"] -= data["time_idx"].min() #...这里需要设置参数确定哪些特征是分类的还是连续的,哪些是静态的还是时变的,还有选择如何规范化数据。我们分别对每个时间序列进行标准化,并确认其始终都是正值。

    2.4K20

    模型融合与超参数优化

    假设对于一个二分类问题,有3个基础模型,那么就采取投票制的方法,投票多者确定为最终的分类。 2 Averaging 对于回归问题,一个简单直接的思路是取平均。稍稍改进的方法是进行加权平均。...,采用的基分类器是决策树。...其基本工作机制如下: 1、从初始样本集中训练出一个基学习器; 2、根据基学习器的表现对样本集分布进行调整,使得做错的样本能在之后的过程中受到更多的关注; 3、用调整后的样本集训练下一个基学习器...trn_data = lgb.Dataset(X_train[trn_idx], y_train[trn_idx]) val_data = lgb.Dataset(X_train[val_idx...trn_data = xgb.DMatrix(X_train[trn_idx], y_train[trn_idx]) val_data = xgb.DMatrix(X_train[val_idx

    84010

    大疆2023秋招笔试真题解析

    大家好,我是吴师兄,关注我,每周更新大厂最新笔试题解析。 题目描述 现在有一个链表数组,每个链表内都已经是升序的排序现在请你将所有的链表进行合并,返回合并后的升序链表。...,由每条链表的节点值node.val和链表在lists中的索引i构成 # 注意到二元元组的排序会先按照第一个元素node.val的大小进行排序 # 故node.val最小的二元元组会位于小根堆堆顶...如果前进后的节点lists[idx]不为空节点, # 则同样按照(node.val, i)的格式压入堆中 if lists[idx]: heapq.heappush...: # 弹出值最小的元素,即当前lists中最小的数组 cur_min_num, idx = heapq.heappop(heap) # cur_min_num...为加入ans的元素 ans.append(cur_min_num) # 在lists中索引为idx的数组lists[idx]里的索引idx_lst[idx]需要前进一步

    24220

    2022-12-06:定义一个概念叫“变序最大和“ “变序最大和“是说一个数组中,每个值都可以减小或者不变, 在必须把整体变成严格升序的情况下,得到的最大累加和

    2022-12-06:定义一个概念叫"变序最大和" "变序最大和"是说一个数组中,每个值都可以减小或者不变, 在必须把整体变成严格升序的情况下,得到的最大累加和 比如,1,100,7变成1,6,7时,就有变序最大和为...求arr所有子数组的变序最大和中,最大的那个并返回。 1 <= arr长度 <= 10^6, 0 <= arri <= 10^6。 来自Amazon。 答案2022-12-06: 单调栈+dp。...= stack[(size - 1) as usize]; let left_val = arr[left_idx as usize]; if left_val..., idx_diff); // 16 // 13 cur_val -= idx_diff...} } if cur_val > 0 { dp[i as usize] += sum(cur_val, cur_idx + 1);

    57420

    Kafka消息的磁盘存储Kafka源码分析-汇总

    /kafka/log/OffsetIndex.scala 作用: 我们知道所有发送到kafka的消息都是以Record的结构(Kafka中Message存储相关类大揭密)写入到本地文件, 有写就要有读...,读取时一般是从给定的offset开始读取,这个offset是逻辑offset, 需要转换成文件的实际偏移量, 为了加速这个转换, kafka针对每个log文件,提供了index文件, index文件采用稀疏索引的方式...offset与file position的映射, 每条记录8个字节,前4个字节是log offset, 后4个字节是file position, 这样的每一条映射信息我们可以称为是一个slot 读写方式...; maybeLock(lock) { val idx = mmap.duplicate val slot = indexSlotFor(idx, targetOffset)...: 上面我们说过这个index文件的读取是使用了内存文件映射MappedByteBuffer, 然后并没有找到相应的unmap(实际上是没有这方法)的调用, 这个会不会有问题呢?

    1.5K20

    mser 最大稳定极值区域(文字区域定位)算法 附完整C代码

    mser 的全称:Maximally Stable Extremal Regions 第一次听说这个算法时,是来自当时部门的一个同事, 提及到他的项目用它来做文字区域的定位,对这个算法做了一些优化。...因为一般我学习算法的思路:3个做法, 第一步,编写demo示例。 第二步,进行算法移植或效果改进。 第三步,进行算法性能优化。 然后在这三个过程中,不断来回地验证,实测。...*/ int is_extr = (p_val > val) || idx == p_idx; if (is_extr) {...可参照《图片文档倾斜矫正算法 附完整c代码》中判断是否为文本图片的方式进行算法思路的改进。 效果图例: ? ? ? ? 以上,再一次抛砖引玉。 若有其他相关问题或者需求也可以邮件联系俺探讨。...邮箱地址是:  gaozhihan@vip.qq.com

    2.8K70

    用scala语言实现并行堆排序(top k)

    这是一种非常简练的函数式语言,最让我感觉兴趣的就是它天然支持并行计算,并且因为生成的目标代码是java虚拟上的class,所以与java有着天然的亲和力。可以与java代码之间自由的互相调用。...但是想到了新的解决方法,就是利用scala(研究spark的副产品)的并行特性来实现大数据的快速排序模块,加入到系统中,供java代码调用。。。 下面的代码就是这个模块的核心排序算法。...总体的流程就是: 在top_mutable_par方法中,对要排序的数据进行分段,然后利用scala的并行特性,以并行方式调用sort_range对每一段数据进行分段排序,之后再reduce所有的分段排序结果...(srclen, dstlen) = ((src._2 - src._1), (dst._2 - dst._1)) val cplen = math.min(srclen, dstlen...(srclen, dstlen) = ((src._2 - src._1), (dst._2 - dst._1)) val cplen = math.min(srclen, dstlen

    62020
    领券