找到关于编程的34423 篇文章

C++中出现频率最高的K个单词

Arnab Chakraborty
更新于 2020年4月29日 07:52:40

498 次浏览

假设我们有一个非空单词列表;我们必须找到k个出现频率最高的元素。我们的答案应该按频率从高到低排序。当两个单词具有相同的频率时,按字母顺序较小的单词将放在前面。因此,如果数组类似于['the', 'sky', 'is', 'blue', 'the', 'weather', 'is', 'comfortable'],则出现频率最高的单词为["is", "the", "blue"]。为了解决这个问题,我们将遵循以下步骤:定义一个名为m的地图,创建一个优先级队列v,对于i := 0到n,其中n是单词数组的大小,… 阅读更多

C++中最长递增子序列的数量

Arnab Chakraborty
更新于 2020年4月29日 06:38:00

348 次浏览

假设我们有一个未排序的整数数组。我们必须找到最长递增子序列的数量,因此如果输入类似于[1, 3, 5, 4, 7],则输出将为2,因为递增子序列为[1, 3, 5, 7]和[1, 3, 4, 7]。为了解决这个问题,我们将遵循以下步骤:n := num数组的大小,创建两个大小为n的数组len和cnt,并用值1填充它们。lis := 1,对于i in range 1到n,对于j in range 0到i – 1,如果nums[i] > nums[j],则如果len[j] + 1 … 阅读更多

Python中的最大交换

Arnab Chakraborty
更新于 2020年4月29日 06:32:59

1K+ 次浏览

假设我们有一个非负整数;我们可以最多交换两位数字一次以获得最大值数字。我们必须返回我们可以获得的最大值数字。因此,如果输入类似于2736,则输出将为7236。因此,这里我们正在交换2和7。为了解决这个问题,我们将遵循以下步骤:num := 从数字中剪切每个数字,并制作一个列表num1 := 反向排序num,index := 0,当index < num的长度时,如果num1[index]与num[index]不同,a := 从index(index + 1)开始的num子数组… 阅读更多

在C++中查找K个最接近的元素

Arnab Chakraborty
更新于 2020年4月29日 06:29:19

373 次浏览

假设我们有一个排序数组,还给出了两个整数k和x,我们必须在该数组中找到k个最接近x的元素。结果应按升序排序。如果出现平局,则总是优先选择较小的元素。因此,如果输入类似于[1, 2, 3, 4, 5]且k = 4,x = 3,则输出将为[1, 2, 3, 4]。为了解决这个问题,我们将遵循以下步骤:创建一个名为ans的数组,设置low := 0,high := 数组大小 – k,当low < high时,mid := low… 阅读更多

Python中的回文子串

Arnab Chakraborty
更新于 2020年4月29日 06:12:53

5K+ 次浏览

假设我们有一个字符串;我们必须计算该字符串中存在多少个回文子串。具有不同起始索引或结束索引的子串被计数为不同的子串,即使它们包含相同的字符。因此,如果输入类似于“aaa”,则输出将为6,因为有六个回文子串,例如“a”、“a”、“a”、“aa”、“aa”、“aaa”。为了解决这个问题,我们将遵循以下步骤:count := 0,对于i in range 0到字符串长度,对于j in range i + 1到字符串长度 + 1,temp := 从索引i到j的子串,如果… 阅读更多

C++中两个字符串的删除操作

Arnab Chakraborty
更新于 2020年4月29日 06:09:36

239 次浏览

假设我们有两个单词w1和w2,我们必须找到使w1和w2相同所需的最小步骤数,在每一步中,我们可以在任一字符串中删除一个字符。因此,如果输入类似于“sea”和“eat”,则输出将为2,因为我们需要从w1中删除's',这将是“ea”,并从w2中删除“eat”中的“t”。然后它们是相同的。为了解决这个问题,我们将遵循以下步骤:n := s1的大小,m := s2的大小,在字符串s1和…之前添加一个空格 阅读更多

C++中的字符串排列

Arnab Chakraborty
更新于 2020年4月29日 06:00:06

581 次浏览

假设我们有两个字符串s1和s2,我们必须编写一个函数来返回true,如果s2包含s1的排列。我们可以说第一个字符串的一个排列是第二个字符串的子串。因此,如果字符串s1 =“abc”,第二个字符串s2是“findcab”,则结果将为true,因为“abc”的排列为true。即“cab”。为了解决这个问题,我们将遵循以下步骤:创建两个大小为26的向量cnt1和cnt2,对于i in range 0到s1,将cnt1[s1[i] – 'a']的值增加1… 阅读更多

C++中子数组和等于K

Arnab Chakraborty
更新于 2020年4月29日 05:56:41

695 次浏览

假设我们有一个整数数组和一个整数k,我们需要找到总共连续子数组的数量,其和与k相同。因此,如果nums数组为[1, 1, 1]且k为2,则输出将为2。为了解决这个问题,我们将遵循以下步骤:定义一个名为sums的地图,temp := 0,sums[0] := 1和ans := 0,对于i in range 0到数组大小,temp := temp + n[i],如果sums包含k – temp,则ans := ans + sums[k - temp],将sums[-temp]的值增加1,返回ans。示例(C++)让我们看看… 阅读更多

C++中排序数组中的单个元素

Arnab Chakraborty
更新于 2020年4月29日 05:54:10

286 次浏览

假设我们有一个排序数组,该数组仅包含整数,其中每个元素恰好出现两次,只有一个元素恰好出现一次。我们必须找到这个只出现一次的单个元素。因此,如果数组类似于[1, 1, 2, 3, 3, 4, 4, 8, 8],则输出将为2。为了解决这个问题,我们将遵循以下步骤:ans := 0,对于i in range 0到nums数组大小,ans := ans XOR nums[i],返回ans。示例(C++)让我们看看以下实现,以便更好地理解:实时演示#include using namespace std; class Solution { public: … 阅读更多

C++中的硬币找零2

Arnab Chakraborty
更新于 2020年4月29日 05:51:30

420 次浏览

假设我们有不同面额的硬币和总金额。我们必须编写一个模块来计算构成该金额的组合数量。我们可以假设我们每种硬币的数量是无限的。因此,如果金额为5且硬币为[1, 2, 5],则有四种组合。(1+1+1+1+1)、(1+1+1+2)、(1+2+2)、(5)。为了解决这个问题,我们将遵循以下步骤:创建一个大小为amount + 1的数组dp,dp[0] := 1,n := 硬币数组的大小,对于i in range 0到n – 1,对于j in range coins[i]到… 阅读更多

广告
© . All rights reserved.