首页 > 其他分享 >湍流数组 双指针+数学 奇偶分数组 字符串

湍流数组 双指针+数学 奇偶分数组 字符串

时间:2022-11-08 16:36:08浏览次数:36  
标签:奇偶 arr int ++ length 数组 ans dp 指针

978. 最长湍流子数组

dp[0][0] = dp[0][1] = 1;初始化一个数
for(int i = 1; i < n; i++) {
dp[i][0] = dp[i][1] = 1;
if(arr[i] > arr[i - 1]) {
dp[i][0] = dp[i - 1][1] + 1;交替么
}
else if(arr[i] < arr[i - 1]) {
dp[i][1] = dp[i - 1][0] + 1;
}
}


923. 三数之和的多种可能

for(int i = 0; i < arr.length; i++) {
int j = i + 1, k = arr.length - 1;开始双指针
int T = target - arr[i];剩下求两数和
while(j < k) {
if(arr[j] + arr[k] < T) {
j++;
}
else if(arr[j] + arr[k] > T) {
k--;
}
else if(arr[j] != arr[k]) {
int left = 1, right = 1;
while(j + 1 < k && arr[j] == arr[j + 1]) {
left++;
j++;
}
while(k - 1 > j && arr[k] == arr[k - 1]) {
right++;
k--;
}
ans += left * right;
ans = ans % MOD;
j++;
k--;
}
else {
ans += (k - j + 1) * (k - j) / 2;
ans = ans % MOD;
break;
}
}
}


922. 按奇偶排序数组 II

int[] ans = new int[nums.length];
for(int i = 0, j = 1, k = 0; k < nums.length; k++) {
if(nums[k] % 2 == 0) {
ans[i] = nums[k];
i += 2;
}else {
ans[j] = nums[k];
j += 2;
}
}


1684. 统计一致字符串的数目

int[] a = new int[26];26个字母,方便
for(int i = 0; i < allowed.length(); i++) {
a[allowed.charAt(i) - 'a']++;
}
int ans = 0;
for(String word :words) {
ans++;先加上
for(int i = 0; i < word.length(); i++) {
if(a[word.charAt(i) - 'a'] == 0) {
ans--;如果有不在的,再减去
break;直接开始,数组中下一个字符串
}
}
}

标签:奇偶,arr,int,++,length,数组,ans,dp,指针
From: https://www.cnblogs.com/xtag/p/16870120.html

相关文章

  • C语言指针
    在C语言中,有两种方式得到一个变量方式一:直接找到变量方式二:间接找到变量。也就是先找到变量的地址,然后再根据地址解析得到该变量。......
  • elementUI table 数组中各项加逗号隔开
    js处理//this.newTableData数组this.newTableData.map((item,index)=>{//item.label数组if(item.label){......
  • AcWing 3583 整数分组(01背包 + 双指针)
    原题链接本题是比较明显的01背包,选或者不选,中间可以用双指针找到最后可以选到的区间长度,那么如果选当前最后一个区间的话最后就要求这个区间前面的长度要最大状态表示:f[......
  • 使用前缀和数组解决"区间和查询"问题
    本文已收录到 GitHub·AndroidFamily,有Android进阶知识体系,欢迎Star。技术和职场问题,请关注公众号[彭旭锐]进Android面试交流群。前言大家好,我是小彭。今......
  • 4 种将字符串转换为字符数组的方法
    英文|https://javascript.plainenglish.io/4-ways-of-transforming-a-string-into-an-array-of-characters-8649e3abfd8d翻译|杨小二在某些情况下,我们希望将字符串转换......
  • 6种JavaScript判断数组是否包含某个值的方法
    我们在项目开发过程中,经常会要检查一个数组(无序)是否包含一个特定的值?这是一个在JavaScript中经常用到的并且非常有用的操作。下面给出几种实现方式。方式一:利用循环这种方......
  • C基础学习笔记——01-C基础第06天(数组)
    在学习C基础总结了笔记,并分享出来。有问题请及时联系博主:​​Alliswell_WP​​,转载请注明出处。01-C基础第06天(数组)  1、概述数组就是在内存中连续的相同类型的变量空间。......
  • 为什么我不推荐使用for..in迭代数组元素
    for-in语句的目的是枚举对象属性。该语句将在原型链中上升,还会枚举继承的属性,这有时是不希望的。此外,规范不保证迭代的顺序,这意味着如果您想“迭代”一个数组对象,使用此语句......
  • 5种从JavaScript 数组中删除项目的方式
    英文| https://javascript.plainenglish.io/how-to-remove-an-item-from-a-javascript-array-in-5-ways-2932b2686442翻译|杨小二有很多方法可以从JavaScript数组中删......
  • 我在JavaScript开发项目中使用最多的9种数组方法
    英文|https://javascript.plainenglish.io/9-array-methods-that-i-used-the-most-while-making-20-projects-in-javascript-8aa299eb731翻译|杨小二我做后端编程以及很......