找到 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 的范围 1 到 n对于 j 的范围 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 := 反转排序 numindex := 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,我们需要在该数组中找到与 x 最接近的 k 个元素。结果应按升序排序。如果有平局,则始终优先选择较小的元素。所以如果输入像 [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 的范围 0 到字符串长度对于 j 的范围 i + 1 到字符串长度 + 1temp := 从索引 i 到 j 的子字符串如果 ... 阅读更多

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

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

239 次浏览

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

C++ 中字符串中的排列

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

581 次浏览

假设我们有两个字符串 s1 和 s2,我们需要编写一个函数来返回如果 s2 包含 s1 的排列则返回 true。所以我们可以说第一个字符串的排列之一是第二个字符串的子字符串。所以如果字符串 s1 = “abc”,第二个字符串 s2 是 “findcab”,那么结果将是 true,因为“abc”的排列是正确的。即“cab”。要解决这个问题,我们将遵循以下步骤 -创建两个大小为 26 的向量 cnt1 和 cnt2对于 i 的范围 0 到 s1将 cnt1[s1[i] – ‘a’] 的值增加 ... 阅读更多

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 的范围 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 的范围 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 的数组 dpdp[0] := 1n := 硬币数组的大小对于 i 的范围 0 到 n – 1对于 j 的范围 coins[i] 到 ... 阅读更多

广告

© . All rights reserved.