草庐IT

LeetCode_day

全部标签

7天快速上手OpenHarmony应用开发 | Day3 JA FA 项目结构

Ability应用所具备能力的抽象,应用程序的重要组成部分。一个应用可以具备多种能力(包含多个Ability)HarmonyOS支持应用以Ability为单位部署Ability可以分为FA和PA,每种类型为开发者提供不同的模板,以便实现不同业务功能FA:支持PageAbility。Page模板是FA唯一支持的模板,用于提供与用户交互的能力。一个Page实例可以包含一组相关页面,每个页面用一个AbilitySlice实例表示。PA:支持ServiceAbility和DataAbility。Service模板提供后台运行任务的能力,Data模板用于对外部提供统一的数据访问抽象(可以理解为web开发

leetcode 困难 —— 天际线问题(优先队列)

(思路感觉挺明显的,就是一些特殊情况得考虑清楚)题目:城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度,请返回由这些建筑物形成的天际线。每个建筑物的几何信息由数组buildings表示,其中三元组buildings[i]=[lefti,righti,heighti]表示:lefti是第i座建筑物左边缘的x坐标。righti是第i座建筑物右边缘的x坐标。heighti是第i座建筑物的高度。你可以假设所有的建筑都是完美的长方形,在高度为0的绝对平坦的表面上。天际线应该表示为由“关键点”组成的列表,格式[[x1,y1],[x2,y2],…],并按x坐标进行排

leetcode.2401. 最长优雅子数组

题目描述给你一个由正整数组成的数组nums。如果 nums的子数组中位于不同位置的每对元素按位与(AND)运算的结果等于0,则称该子数组为优雅子数组。返回最长的优雅子数组的长度。子数组是数组中的一个连续部分。注意:长度为1的子数组始终视作优雅子数组。 示例1:输入:nums=[1,3,8,48,10]输出:3解释:最长的优雅子数组是[3,8,48]。子数组满足题目条件:3AND8=03AND48=08AND48=0可以证明不存在更长的优雅子数组,所以返回3。示例2:输入:nums=[3,1,5,11,13]输出:1解释:最长的优雅子数组长度为1,任何长度为1的子数组都满足题目条件。 提示:15

( 数组和矩阵) 485. 最大连续 1 的个数 ——【Leetcode每日一题】

❓485.最大连续1的个数难度:简单给定一个二进制数组nums,计算其中最大连续1的个数。示例1:输入:nums=[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续1,所以最大连续1的个数是3.示例2:输入:nums=[1,0,1,1,0,1]输出:2提示:11nums.length105nums[i]不是0就是1.💡思路:直接遍历就行!🍁代码:(Java、C++)JavaclassSolution{publicintfindMaxConsecutiveOnes(int[]nums){intans=Integer.MIN_VALUE;intcur=0;for(intnum:

Leetcode第91场双周赛

T1:LeetCode2465.不同的平均值数目 第一题比较简单,排个序后开个哈希表存总和就行classSolution{public:intdistinctAverages(vector&nums){unordered_sethash;sort(nums.begin(),nums.end());for(inti=0,j=nums.size()-1;iT2:LeetCode2466.统计构造好字符串的方案数 简单dp问题就表示长度为的字符串有多少个,我们可以将分为两类:一类是以one个1结尾,那我们就只要统计另一类是以zero个0结尾,同理我们就只要统计所以最后classSolution{pu

Mentor-dft 学习笔记 day1--overview部分

一.dftoverview(仅仅是前瞻,我会按照mentor手册的顺序更新)(1)WhatisDesign-for-Test? 测试最本质的目的是如何简单的设计一个程序可完全的测试成品的设计的质量。但是对于传统的工艺来说,设计和测试的流程是分开的,设计阶段一般是在设计的周期结束。但是对于现在的designflows来说,测试在更早的阶段融合(merge)在设计中,被称为design-for-testprocessflow。(Testablecircuitryisbothcontrollableandobservable.Inatestabledesign,settingspecificvalu

【LeetCode】650. 只有两个键的键盘

650.只有两个键的键盘(中等)思路不同于以往通过加减实现的动态规划,这里需要乘除法计算位置。因为粘贴操作是倍数增加,使一个一维数组dp,其中位置i表示延展到长度i的最少操作次数。对于每个位置j,如果j可以被i整除,那么长度i就可以由长度j得到,其操作次数等价于把一个长度为1的A延展到长度为i/j,因此递推公式为:dp[i]=dp[j]+dp[i/j];。比如i=10,可以在i=5的时候,选择复制全部字符并粘贴,就扩展为10个A。代码classSolution{public:intminSteps(intn){vectorint>dp(n+1,0);for(inti=2;in;++i){dp[

Leetcode 2127. 参加会议的最多员工数

一个公司准备组织一场会议,邀请名单上有 n 位员工。公司准备了一张圆形 的桌子,可以坐下任意数目 的员工。员工编号为0 到n-1 。每位员工都有一位喜欢 的员工,每位员工 当且仅当 他被安排在喜欢员工的旁边,他才会参加会议。每位员工喜欢的员工不会 是他自己。给你一个下标从0 开始的整数数组 favorite ,其中 favorite[i] 表示第 i 位员工喜欢的员工。请你返回参加会议的 最多员工数目 。示例1: 输入:favorite=[2,2,1,2]输出:3解释:上图展示了公司邀请员工0,1和2参加会议以及他们在圆桌上的座位。没办法邀请所有员工参与会议,因为员工2没办法同时坐在0,1和3

卷进大厂系列之LeetCode刷题笔记:颠倒字符串里的单词(中等)

学算法,刷力扣,加油卷,进大厂!题目描述力扣题目链接给你一个字符串s,颠倒字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。示例1:输入:s="theskyisblue"输出:"blueisskythe"示例2:输入:s="helloworld"输出:"worldhello"解释:颠倒后的字符串中不能存在前导空格和尾随空格。示例3:输入:s="agoode

卷进大厂系列之LeetCode刷题笔记:颠倒字符串里的单词(中等)

学算法,刷力扣,加油卷,进大厂!题目描述力扣题目链接给你一个字符串s,颠倒字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。示例1:输入:s="theskyisblue"输出:"blueisskythe"示例2:输入:s="helloworld"输出:"worldhello"解释:颠倒后的字符串中不能存在前导空格和尾随空格。示例3:输入:s="agoode