经验笔记

C ++中按字典分类的最小等效字符串

假设我们具有相同长度的字符串A和B,现在我们可以说A [i]和B [i]是等效字符。因此,例如,如果A =“ abc”和B =“ cde”,则我们有'a'='c','b'='d'和'c'='e'。等效字符遵循任何等效关系的通常规则:自反性:… 更多>

C ++中排序数组中缺少元素

假设我们有一个唯一编号排序的数组A,我们必须找到从数组最左边的编号开始的第K个缺失编号。因此,如果数组类似于[4,7,9,10],并且k = 1,则元素将为5。为了解决这个问题,我们将遵循以下步骤-n:=数组的大小,设置low:= 0和hi… 更多>

最小化舍入误差以达到C ++中的目标

假设我们有一个价格数组P [p1,p2 ...,pn]和一个目标值,我们必须将每个价格Pi舍入到Roundi(Pi),这样舍入后的数组[Round1(P1),Round2(P2) ...,Roundn(Pn)]求和为给定的目标值。在这里,每… 更多>

在C ++中形成字符串的最短方法

假设我们有一个字符串,我们可以通过删除一些字符(可能没有删除)来形成该字符串的子序列。因此,如果源和目标有两个字符串,我们必须找到源的子序列的最小数量,以使它们的串联等于目标。如果无法完成任务,则返回-1。因此,如果源是“ abc”,目标是… 更多>

C ++中的Last Stone Weight II

假设我们有一个岩石集合,现在每个岩石都有一个正整数权重。在每个回合中,我们选择任意两个岩石并将它们粉碎在一起。如果宝石的权重为x和y,且x <= y。粉碎的结果将是-如果x = y,则两块宝石都被完全破坏;如果x!= y,则重量为x的… 更多>

C ++中最长的字符串链

假设我们有一个单词列表,这里的每个单词都由小写字母组成。因此,当且仅当我们可以在word1的任意位置添加正好一个字母使其等于word2时,一个单词word1才是另一个单词word2的前身。举个例子,“ abc”是“ abac”的前身。现在,… 更多>

在Windows 10上原生运行Linux

微软已经推出了适用于Linux的WSL子系统,它使用户可以直接从Windows 10运行自己喜欢的Linux发行版,而无需双启动或使用虚拟机。适用于Linux的Windows子系统的局限性尽管这是朝Microsoft正确方向迈出的一步,但就… 更多>

机器人界C ++

假设我们有一个无限的平面,一个机器人最初位于位置(0,0)并朝北。机器人可以接收以下三个指令之一-G-直线前进1单位;L-向左旋转90度;R-向右旋转90度。机器人按顺序执行指令,指令会永远重复。我们必须检查平面中是否存在圆,以使机器人永远… 更多>

C ++中多边形的最小分数三角剖分

假设我们有一个值N,请考虑一个凸N边的多边形,其顶点分别标记为A [0],A [i],...,A [N-1]为顺时针方向。现在假设我们想将多边形分成N-2个三角形。对于每个三角形,该三角形的值是顶点标签的乘积,并且三角剖分的总得分将是三角剖… 更多>

C ++中的非交叉线

假设我们在两条分开的水平线上写了A和B的整数(按给定的顺序)。现在,我们可以绘制连接线:连接两个数字A [i]和B [j]的直线,使得-A [i] == B [j];我们绘制的线不与任何其他连接(非水平)线相交。我们必须记住,即使在端点处,… 更多>

C ++中最长的算术序列

假设我们有一个整数数组A,我们必须返回A中最长的算术子序列的长度。您知道A的子序列是列表A [i_1],A [i_2],...,A [ i_k]的值为0 <= i_1 <i_2 <... <i_k <= A.l… 更多>

C ++中的视频拼接

假设我们有一个来自体育赛事的视频片段,持续了T秒。现在,这些视频剪辑可以彼此重叠并且具有不同的长度。这里,每个视频片段clips [i]是一个间隔−它始于clips [i] [0]时间,结束于clips [i] [1]时间。我们可以自由地将… 更多>

C + + 中 Enclaves 的数量

假设我们给定了一个2D数组A,现在每个像元是0(代表海洋)或1(代表陆地)。这里的移动包括从一个陆地正方形4向走到另一个陆地正方形,或者离开网格边界。我们必须找到网格中不能以任何数量的步距走出网格边界的土地广场的数量。所以如果网格像-000… 更多>

在C ++中转换为Base -2

假设我们有一个数字N,我们必须找到一个由“ 0”和“ 1”组成的字符串,该字符串表示其值以2为底(负2)。返回的字符串不应包含前导零,除非该字符串正好是“ 0”。因此,如果输入类似于2,则输出将为“ 110”,因为(-2)^ 2 +(-2)… 更多>

在C ++中带子字符串的二进制字符串表示1到N

假设我们有一个二进制字符串S和一个正整数N,当且仅当对于从1到N的每个整数X,X的二进制表示形式是给定S的子字符串时,我们必须说为true。因此,如果S =“ 0110 ”且N = 3,则结果为true,因为0110中存在1,10和11。为… 更多>

我们如何在Java 9中修改现有模块?

该模块 是一个命名的,自描述的代码和数据集合。该代码已组织为一组软件包,其中包含Java类和接口之类的类型。数据包括资源和其他种类的静态信息。我们需要声明一个模块,然后在源代码的根目录添加module-info.java。以下是“ modu… 更多>

Java 9中的JShell中有哪些不同的“ / vars”命令?

JShell 是Java 9中引入的交互式命令行工具。它也称为REPL 工具,用于获取输入,评估输入并将输出输出给用户。在JShell工具中,可以列出使用内部命令“ / vars ”创建的所有变量。如下所列,我们在JShell工具中提供了不… 更多>

我们如何在Java 9中创建服务提供者接口?

提供Service 接口实现的模块在模块描述符文件中包含一个“ Provides ”语句。如果模块在模块描述符文件中没有“ providers ”语句,则服务加载器无法加载该模块。我们可以通过以下步骤创建服务提供商接口:我们创建一个新的模块… 更多>

C ++最佳观光对

假设我们有一个正整数数组A,现在A [i]表示第i个景点的值,两个景点i和j的距离为j-i。现在,一对观光景点(i <j)的得分遵循以下公式(A [i] + A [j] + i-j):我们必须找到一对观光景点的最大得分。因此,如果输入… 更多>

C ++中的等式的可满足性

假设我们有一个数组,如果方程表示变量之间的关系,那么现在每个字符串方程[i]的长度为4,并采用两种不同形式之一:“ a == b”或“ a!= b”。在此,a和b是小写字母,代表一个字母的变量名。因此,当且仅当可以为变量名称分配整数以满足所… 更多>

C ++中没有AAA或BBB的字符串

假设我们有两个整数A和B,我们必须返回任何字符串S,这样-S的长度为A + B,并且正好包含A个字母“ a”和B个“ b”个字母。子字符串“ aaa”和“ bbb”将不在字符串S中因此,如果给定的整数为A = 4,B = 1,则结果将为“ … 更多>

C ++中基于时间的键值存储

假设我们必须创建一个名为TimeMap的基于时间的键值存储类,该类支持两种操作。set(string key,string value,int timestamp):这将存储键和值以及给定的时间戳。get(string key,int ti… 更多>

C ++中最长的湍流子数组

考虑A的子数组A [i],A [i + 1],...,A [j]在满足以下条件时被称为湍流-当i <= k <j且当k为奇数时A [k]> A [k + 1],而当k为偶数时A [k] <A [k + 1];否则,对… 更多>

C ++中具有相同连续差异的数字

假设我们必须找到所有长度为N的非负整数,以使每两个连续数字之间的绝对差为K。我们必须记住,答案中的每个数字除数字0本身外,都不得带有前导零。我们可以以任何顺序返回答案。因此,如果N = 3且K = 7,则输出将为[181,292,707,8… 更多>

C ++中的最大宽度斜坡

假设我们有一个整数数组A,斜波是一个元组(i,j),其中i <j并且A [i] <= A [j]。这样的斜坡的宽度是j-i。我们必须找到A中斜坡的最大宽度。如果不存在,则返回0。因此,如果输入为[6,0,8,2,1,5],则输出… 更多>

C ++中N天后的监狱牢房

假设连续有8个牢房,每个牢房中有一个囚犯,或者是空的。每天,牢房是否有人居住都根据以下规则进行更改-如果一个单元有两个相邻的邻居都被占用或都空闲,则该单元将被占用。否则,它将变为空。我们将通过以下方式描述监狱的当前状态:如果第i个牢房被占用… 更多>

C ++中的双对数组

假设我们有一个长度为偶数的整数A的数组,现在,当且仅当可能以A [2 * i + 1] = 2 * A [2 * i]重新排序时,我们才必须说true每0 <= i <len(A)/2。因此,如果输入类似于[3,1,3,6],则… 更多>

在C ++中按升序显示卡

假设我们有一副扑克牌;每张卡都有一个唯一的号码。我们可以按照所需的任何顺序订购甲板。因此,最初,所有卡在一个卡座中都面朝下(未显露)。现在,我们多次执行以下步骤,直到所有卡片都显示出来-假设我们有一副扑克牌;每张卡都有一个唯一的号码。我们可… 更多>

C ++中的令牌袋

假设我们有一个初始功效P,一个初始得分0分和一袋代币。现在每个令牌最多可以使用一次,有一个值token [i],并且可能有两种使用方式,这些方式如下:如果我们至少具有token [i]功效,那么我们可以将令牌面朝上玩,失去token [i]… 更多>

使数组在C ++中唯一的最小增量

假设我们有一个整数数组A,这里的移动包括选择任意A [i],然后将其递增1。我们必须找到最少的移动次数,才能使A中的每个值唯一。因此,如果输入类似于[3,2,1,2,1,7],则输出将为6,在移动6次后,数组可能为[3,4,1,2,5,7]… 更多>

C ++中的美丽数组

假设对于某个固定值N,当数组A是整数1、2,...,N的置换时,它是美丽的,使得-对于每个i <j,不存在这样的k,而i <k <j使得A [k] * 2 = A [i] + A [j]。假设我们有N个,我们必须找到任何美… 更多>

C ++中具有和的二进制子数组

假设给定的数组A为0和1,我们必须找到多少个非空子数组的总和为S?因此,如果输入类似于[1,0,1,0,1],并且S = 2,则结果将为4,因为子数组为[1,0,1,0,1],[1,0 ,1,0,1],[1,0,1,0,1],[1,0,1,… 更多>

在C ++中将字符串翻转为单调递增

假设给出了一个字符串“ 0”和“ 1”。如果该字符串包含一定数量的“ 0”(可能为0),然后是一定数量的“ 1”(也可能为0),则它将是单调递增的。我们的字符串S为'0'和'1',我们可以将任何'0'翻转为'1'或将'1'翻转为'0'。找到… 更多>

在C ++中将数组分区为不相交的间隔

假设我们有一个数组A,我们必须将它分成左右两个子数组,以便-左子数组中的每个元素都小于或等于右子数组中的每个元素。左和右子数组为非空。左子数组具有最小的可能大小。我们必须找到这样的划分后的剩余长度。可以保证存在这样的分区。因此,如果输入类似… 更多>

用C ++对数组排序

假设我们有一个整数数组;我们必须按升序对它们进行排序。因此,如果数组类似于[5,2,3,1],则结果将为[1,2,3,5]为了解决这个问题,我们将遵循以下步骤-制作一种称为分区的方法,它将采用低位和高位数组设置枢轴:=低对于我,范围从低到高… 更多>

C ++在线选举

假设在一次选举中,第i次投票是在时间[i]上对人[i]进行的。现在,我们必须实现以下查询功能:TopVotedCandidate.q(int t),它将找到在时间t领导选举的人数。在时间t进行的投票将计入我们的查询。如果出现平局,则以最近的… 更多>

C ++中的最小范围II

假设我们有一个整数数组A,对于每个整数A [i],我们必须选择x = -K或x = K,然后将x加到A [i](仅一次)。因此,在此过程之后,我们有了一些数组B。我们必须找到B的最大值和B的最小值之间的最小可能差。因此,如果输入为A = [… 更多>

C ++中的RLE迭代器

假设我们必须创建一个迭代器,该迭代器遍历游程编码序列。此处,迭代器通过调用RLEIterator(int [] A)进行初始化,其中A是序列的游程长度编码。因此我们可以说,对于所有偶数i,A [i]告诉我们在序列中重复非负整数值A [i +… 更多>

C ++中子数组的按位或

假设我们有一个非负整数的数组A。对于每个(连续)子数组,说B = [A [i],A [i + 1],...,A [j]](其中i <= j),我们将对其中的所有元素进行按位或运算B,获得结果A [i] | A [i + 1] | ..… 更多>

C ++中可能的分割

假设我们有一组N个人(编号分别为1、2,...,N),我们希望将每个人分成任意大小的两个子组。现在每个人都可能不喜欢其他人,因此不应将他们归为一类。因此,如果dislikes [i] = [a,b],则表明不允许将编号为a和b的人员放入同一… 更多>

C++中救人的小船

假设我们有一个叫做people的数组。现在,第i个人的体重为[i],每条船可以承受的最大重量为极限。如果每条船最多可同时容纳2个人,则这些人的重量总和最大为上限。我们必须找到载有每个特定人员的最少船只数量。因此,如果输入为[3,2,1,2]… 更多>

C ++中的石头游戏

假设我们有两个玩家Alex和Lee,他们玩着一堆堆石头。偶数排成一排,每堆有一定数量的石堆[i]。游戏的目标是以最多的石头结束。当石头总数为奇数时,就没有关系了。亚历克斯和李轮流转,亚历克斯先发。在每个回合中,玩家从该行的开头或结尾拿走整堆… 更多>

C ++中的Koko吃香蕉

假设我们有N堆香蕉,第i堆有堆香蕉。这里的警卫已经离开,将在H小时后回来。Koko可以确定她每小时的香蕉进食速度为K。每小时,她会拿一些香蕉,然后从那一堆中吃K香蕉。如果堆中的香蕉少于K个,那么她将全部消耗掉,并且在此小时内不再吃香蕉。考虑… 更多>

C ++中最长斐波那契子序列的长度

假设我们有一个序列X_1,X_2,...,X_n如斐波那契式-n> = 3所有i + 2 <= n的X_i + X_ {i + 1} = X_ {i + 2}现在假设一个正整数的数组A严格增加,形成一个序列,我们必须找到A的最长… 更多>

在C ++中重新排序了2的幂

假设我们有一个正整数N,我们以任何顺序(包括原始顺序)对数字重新排序,以使前导数字不为零。我们必须检查是否可以通过这种方式来使所得的数字为2的幂。因此,如果该数字类似于46,则答案是正确的。为了解决这个问题,我们将遵循以下步骤-定义一个称为… 更多>

C ++中的主要回文

假设我们必须找到最小的原始回文大于或等于N。因此,如果N为13,则最小回文将为101。为了解决这个问题,我们将遵循以下步骤-如果N在8到11的范围内,则返回11适用于范围1至99999的is:= i作为字符串r:= s反向rnum:=从索引… 更多>

在C ++中翻转矩阵后得分

假设我们有一个二维矩阵A,其中每个值均为0或1。这里的移动包括选择任何行或列,以及切换该行或列中的每个值:将所有0更改为1,并将所有1更改为0。现在,在进行任意数量的移动之后,此矩阵的每一行都被解释为二进制数,并且矩阵的得分是这些数字的总和… 更多>

如何使用Java将OpenCV Mat对象转换为BufferedImage对象?

如果尝试使用OpenCV imread()方法读取图像,它将返回Mat对象。如果要使用AWT / Swings窗口显示生成的Mat对象的内容,则需要将Mat对象转换为类java.awt.image.BufferedImage的对象。为此,您… 更多>

JShell工具如何在Java 9内部运行?

Java 9中引入了JShell工具,该工具 提供了快速友好的环境,使我们能够快速探索,发现和试验Java语言功能和广泛的库。将代码输入JShell控制台后,将由JLine处理。它是一个Java库,允许我们在控制台上进行捕获。输入代码后,J… 更多>

如何使用Java OpenCV库查找图像轮廓?

轮廓线不过是连接沿着特定形状的边界的所有点的线。使用这个你可以-查找对象的形状。计算对象的面积。检测物体。识别对象。您可以使用findContours()方法找到图像中各种形状的轮廓,对象。此方法接受以下参数-二进制图像。类型为MatOfP… 更多>