第190场周赛

2024-04-21 09:38
文章标签 周赛 190

本文主要是介绍第190场周赛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第190场周赛

  • 5416. 检查单词是否为句中其他单词的前缀
  • 5417. 定长子串中元音的最大数目
  • 5418. 二叉树中的伪回文路径

5416. 检查单词是否为句中其他单词的前缀

class Solution {public int isPrefixOfWord(String sentence, String searchWord) {String []  chars = sentence.split(" ");int len = chars.length;int compareLen = searchWord.length();int res = -1;for(int i=0;i<len;i++) {int curStrLen = chars[i].length();if(curStrLen<compareLen) {continue;}String firstStr = chars[i].substring(0, compareLen);if(firstStr.equals(searchWord)) {res = i+1;break;}}return res;}
}

5417. 定长子串中元音的最大数目

class Solution {public int maxVowels(String s, int k) {int len=s.length();if(len<k) {return 0;}int res = 0;int[] maxLen = new int[len+1];for(int i=1;i<=k;i++) {char cur = s.charAt(i-1);if(cur=='a' ||cur=='e' ||cur=='i'||cur=='o'||cur=='u') {maxLen[i]=maxLen[i-1]+1;}else {maxLen[i]=maxLen[i-1];}}res = res>maxLen[k]?res:maxLen[k];for(int i=k+1;i<=len;i++) {char cur = s.charAt(i-1);char former = s.charAt(i-1-k);boolean flag = false;if(former=='a' ||former=='e' ||former=='i'||former=='o'||former=='u') {flag = true;}else {flag = false;}if(cur=='a' ||cur=='e' ||cur=='i'||cur=='o'||cur=='u') {if(flag) {maxLen[i]=maxLen[i-1];}else {maxLen[i]=maxLen[i-1]+1;}}else {if(flag) {maxLen[i]=maxLen[i-1]-1;}else {maxLen[i]=maxLen[i-1];}}res = res>maxLen[i]?res:maxLen[i];}return res;}
}

5418. 二叉树中的伪回文路径

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public int pseudoPalindromicPaths (TreeNode root) {if(root==null) {return 0;}if(root.left==null && root.right==null) {return 1;}Set<Integer> set = new HashSet<Integer>();//set.add(root.val);int res = maxPaths(root,set);return res;}public int maxPaths (TreeNode root,Set<Integer> set) {
//		System.out.println("curr node:"+root.val);boolean flag = true;if(set.contains(root.val)) {flag = false;set.remove(root.val);}else {flag = true;set.add(root.val);}
//		for(Integer s:set) {
//			System.out.print(s+" ");
//		}
//		System.out.println();if(root.left==null && root.right==null) {//判断是否是伪回文int size = 0;if(set.size()<=1) {	size = 1;}if(!flag) {set.add(root.val);}else{set.remove(root.val);}return size;}int left = 0;if(root.left!=null) {left = maxPaths(root.left,set);}int right = 0;if(root.right!=null) {right = maxPaths(root.right,set);}if(!flag) {set.add(root.val);}else{set.remove(root.val);}return left+right;}
}

在这里插入图片描述
这次首次在一个半小时内完成三道题,但是排名还是不高
目标,以后稳定完成3道题的前提下,冲进1K内

这篇关于第190场周赛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922761

相关文章

LeetCode 第414场周赛个人题解

目录 Q1. 将日期转换为二进制表示 原题链接 思路分析 AC代码 Q2. 范围内整数的最大得分 原题链接 思路分析 AC代码 Q3. 到达数组末尾的最大得分 原题链接 思路分析 AC代码 Q4. 吃掉所有兵需要的最多移动次数 原题链接 思路分析 AC代码 Q1. 将日期转换为二进制表示 原题链接 Q1. 将日期转换为二进制表示 思路分析

LeetCode --- 413周赛

题目列表 3274. 检查棋盘方格颜色是否相同 3275. 第 K 近障碍物查询 3276. 选择矩阵中单元格的最大得分 3277. 查询子数组最大异或值 一、检查棋盘方格颜色是否相同 题目给定两个字符串来表示两个方格的坐标,让我们判断这两个方格的颜色是否相同,这里我们要观察棋盘的颜色特征,我们就会发现奇数行的奇数列和偶数行的偶数列是黑色,其他都是白色,所以我们可以直接计算出每个方

[LeetCode] 190. Reverse Bits

题:https://leetcode.com/problems/reverse-bits/ 题目大意 将32位的数,二进制翻转。 解题思路 解法和 将int a =123,翻转的思路 相同。 int b= 0;while(a>0){b = b*10 + a %10;a /=10;} 将新数整体左移一位,然后 取每个数的第i位置,将该位放到 新数的最低位。循环32次遍可以得到翻转。

牛客周赛 Round 58(ABCDF)

目录 A.会赢吗? B.能做到的吧   C.会赢的! D.好好好数 F.随机化游戏时间 A.会赢吗? 思路: 签到题,比大小 void solve(){double a,b;cin>>a>>b;if(a>=b) cout<<"NO";else cout<<"YES";} B.能做到的吧  思路:只要能变大就行,那么我们就将字符串从大到小排序,如

【每日一题】【进制数】【思维】好好好数 牛客周赛 Round 58 D题 C++

牛客周赛 Round 58 D题 好好好数 题目背景 牛客周赛 Round 58 题目描述 样例 #1 样例输入 #1 260 3114 514 样例输出 #1 2114 做题思路 考虑到k-好数实际上是 k k k进制下取0/1的操作。 而且问题也是k-好数的和,其工作原理和算进制数一样。 例如 30 = 3 3 + 3 1 30 = 3^3+3^1 30

【每日一题】【博弈论】【思维】会赢的! 牛客周赛 Round 58 C题 C++

牛客周赛 Round 58 C题 会赢的! 题目背景 牛客周赛 Round 58 题目描述 样例 #1 样例输入 #1 31 11 0-1 -1 样例输出 #1 NOYESPING 做题思路 首先考虑到开始位置为 ( 0 , 0 ) (0,0) (0,0)并且只能使横纵坐标递增。所以如果终点的横纵坐标为负数的情况是不可能到达的。所以平局。 第一个点: x

LeetCode 第413场周赛个人题解

目录 3274. 检查棋盘方格颜色是否相同 原题链接 思路分析 AC代码 3275. 第 K 近障碍物查询 原题链接 思路分析 AC代码 3276. 选择矩阵中单元格的最大得分 原题链接 思路分析 AC代码 3277. 查询子数组最大异或值 原题链接 思路分析 AC代码 3274. 检查棋盘方格颜色是否相同 原题链接 3274. 检查棋盘方

LeetCode --- 412周赛

题目列表 3264. K 次乘运算后的最终数组 I 3266. K 次乘运算后的最终数组 II 3265. 统计近似相等数对 I 3267. 统计近似相等数对 II 一、K次乘预算后的最终数组 I & II  I 数据范围比较小,可以暴力模拟,代码如下 class Solution {public:vector<int> getFinalState(vector<int>& n

数据赋能(190)——开发:数据产品——技术方法、主要工具

技术方法 数据产品涉及的技术方法非常广泛,包括但不限于: 数据采集与处理技术:如ETL(抽取、转换、加载)技术,用于从各种数据源中收集数据并进行预处理。数据存储与管理技术:如分布式存储、NoSQL数据库等,用于高效、安全地存储和管理数据。数据分析与挖掘技术:如机器学习、深度学习等算法和技术,用于从数据中提取有价值的信息和模式。数据可视化技术:如数据可视化库、图表绘制工具等,用于将数据以直观、易

__周赛(最小生成树(Prime))

将已经链接的边的权值设为0即可。 但是可能会超时,提交的时候,有一次显示超时,所以这个解法是有问题的,看到有171ms的,实力差的太大了,还是得使劲刷题。 /*2015-5-18 951ms*/#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define INF 0x3f3f3f3f