4.14,堆排序,写点题目

今天学习了一下归并排序

利用的基本的思想的是二分

1把数组进行划分(二分的划分)

2对数组进行合并(排序的划分)

一共就是两步,看似确实简单

其实难度确实简单,代码的话稍稍的长了一点

#include
#include

int arr[1000010];
int n;

//合并函数
void hbing(int jr[],int arr[],int l,int mid,int r){
int lr=l;
int rr=mid+1;
int pos=l;
while(lr<=mid&&rr<=r){
    if(arr[lr]

递归二分到只有一个元素

并且开一个数组记录合并的过程

最后把创建的数组,赋值给原数组,这样原数组就排好了

排序确实没啥好讲的

来点题目好搞

1641. 统计字典序元音字符串的数目

难度中等156收藏分享切换为英文接收动态反馈

给你一个整数 n,请返回长度为 n 、仅由元音 (aeiou) 组成且按 字典序排列 的字符串数量。

字符串 s 按 字典序排列 需要满足:对于所有有效的 is[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。

示例 1:

输入:n = 1
输出:5
解释:仅由元音组成的 5 个字典序字符串为 ["a","e","i","o","u"]

示例 2:

输入:n = 2
输出:15
解释:仅由元音组成的 15 个字典序字符串为
["aa","ae","ai","ao","au","ee","ei","eo","eu","ii","io","iu","oo","ou","uu"]
注意,"ea" 不是符合题意的字符串,因为 'e' 在字母表中的位置比 'a' 靠后

示例 3:

输入:n = 33
输出:66045

有点dp的味道

要得到ans[n]等于以每个原音字母结尾字符串的和

我们用a[]数组来记录每个字母结尾的数目

n长度的字符串的个数与n-1的字符串的尾字母有关

可以得到递推关系

a[n]=a[n-1]+a[n-2]......a[1];

不断的递推更新a[]数组

最后把a[]数组全部加起来就是答案了

int countVowelStrings(int n){
  int a[6];
  a[5]=1;
  a[4]=1;
  a[3]=1;
  a[2]=1;
  a[1]=1;
    for(int u=1;u

懒得用递归了,用循环可以搞定的,就不上递归了 

 下一个

给你一个整数数组 nums ,返回出现最频繁的偶数元素。

如果存在多个满足条件的元素,只需要返回 最小 的一个。如果不存在这样的元素,返回 -1 。

示例 1:

输入:nums = [0,1,2,2,4,4,1]
输出:2
解释:
数组中的偶数元素为 0、2 和 4 ,在这些元素中,2 和 4 出现次数最多。
返回最小的那个,即返回 2 。
示例 2:

输入:nums = [4,4,4,9,2,4]
输出:4
解释:4 是出现最频繁的偶数元素。
示例 3:

输入:nums = [29,47,21,41,13,37,25,7]
输出:-1
解释:不存在偶数元素。
 

提示:

1 <= nums.length <= 2000
0 <= nums[i] <= 105

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/most-frequent-even-element
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

没啥技术和思想就,纯纯的枚举暴力出奇迹

int mostFrequentEven(int* nums, int numsSize){
    int a[10000];
    int b[10000]={0};
    int i=0;
    for(int j=0;j=l){
            if(b[j]==l){
                if(max>a[j]){
                   l=b[j];
                   max=a[j];
                }
            }
            else{
            l=b[j];
            max=a[j];
            }

         
        }
    }
    
     return max;   

}

写的有点少没状态呀,可恶还是有点不习惯呀,但是越来越好了 

对封装的能力越来越厉害了呀哈哈

还要写两题

但是先写到这了

撒花谢幕!!!!!!

你可能感兴趣的:(算法,c++,数据结构)