力扣75道热门算法题 第一天

news2024/9/28 16:21:13

1768、交替合并字符串

题解:

class Solution {
    public String mergeAlternately(String word1, String word2) {
        int m = word1.length(),n = word2.length();
        int i =0, j = 0;
//双指针遍历两个数组
        StringBuilder sb = new StringBuilder();
//生成一个StringBuilder对象,存储新的数据
        while ( i < m || j < n ){
            if ( i < m ){
                sb.append(word1.charAt(i));
//append方法是用于当前stringbuilder对象追加内容
                i++;
            }
            if ( j < n ){
                sb.append(word2.charAt(j));
                j++;
            }
        }
        return sb.toString();
    }
}

1071、字符串的最大公因子

题解:

class Solution {
    public String gcdOfStrings(String str1, String str2) {
    int len1 = str1.length(),len2 = str2.length();
    for ( int i = Math.min(len1,len2); i>=1; i--){
        if( len1 % i ==0 && len2 % i ==0 ){
            String X = str1.substring(0,i);
            if (check(X,str1) && check(X,str2)){
                return X;
            }           
        }
    }
    return "";
    }
    public boolean check(String t,String s){
        int lenx = s.length() / t.length();
        StringBuffer sb = new StringBuffer();
        for (int i = 1; i <= lenx; i++){
            sb.append(t);
        }
        return sb.toString().equals(s);
    }
}
//枚举

1431、拥有最多糖果的孩子

题解:

class Solution {
    public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) {
        int n = candies.length;
        int maxCandies = 0;
        for ( int i = 0; i < n; i++){
            maxCandies =Math.max(maxCandies,candies[i]);
        }
//先遍历出拥有糖果最多的数量
        List<Boolean> list = new ArrayList<Boolean>();
        for ( int i =0; i < n;i++){
            list.add(candies[i] + extraCandies >= maxCandies);
        }
//遍历比较
        return list;
    }
}

605、种花问题

题解:

class Solution {
    public boolean canPlaceFlowers(int[] flowerbed, int n) {
        int size = flowerbed.length;
        int count = 0;
        int prev = -1;
        for ( int i = 0; i < size; i++){
            if (flowerbed[i] == 1){
                if (prev < 0){
                    count += i / 2;
                } else {
                    count += (i - prev - 2) / 2;
                }
                if (count >= n){
                    return true;
                }
                prev = i;
            }
        }
        if (prev < 0){
            count += (size + 1) / 2;
        } else {
            count += (size -prev -1) / 2;
        }
        return count >= n;
    }
}

345、反转字符串中的元音字母

题解:

class Solution {
    //画图,好理解点
    public String reverseVowels(String s) {
        //字符串的长度
        int len = s.length();
        //将字符串转为字符数组,原因字符串是不可变的
        char[] chars = s.toCharArray();
        //左指针,指向字符串的首字母
        int i = 0;
        //右指针,指向字符串的末尾字符
        int j = len-1;
        //只要左指针小于右指针,就进入循环
        while(i < j){
            //左指针从左向右遍历,
            //并判断下遍历的每一个字符是否是元音字符,不是就继续移动
            while(i < len && !isVowel(chars[i])){
                i++;
            }
            //右指针从右向左遍历,
            //并判断遍历的每一个字符是否有元音,不是就继续移动
            while(j > 0&& !isVowel(chars[j])){
                j--;
            }
            //此时左右指针都停在了元音字符的位置,
            if(i<j){
                //将两个字符的位置进交换
                swap(chars, i, j);
                //并同时将两个指针向右和向左移动
                i++;
                j--;
            }
        }
        //将字符数组转为字符串输出
        return new String(chars);
    }
    //判断是否是元音字符
    public boolean isVowel(char ch){
        //调用方法,判断这个字符在这个字符串里面的下标,
        //如果存在,就返回该字符的第一次出现的下标,如果不存在,就返回-1
        return "aeiouAEIOU".indexOf(ch) >= 0;
    }
    //交换两个字符的位置
    public void swap(char[] chars, int i, int j){
        char temp = chars[i];
        chars[i] = chars[j];
        chars[j] = temp;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2174054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何禁止电脑上某个软件运行?电脑设置禁止运行软件的4个方法速成

在日常使用电脑的过程中&#xff0c;可能会遇到需要禁止某些软件运行的情况。 无论是为了防止员工随意使用与工作无关的软件&#xff0c;还是为了管理孩子的电脑使用时间&#xff0c;禁止特定软件运行都是有效的解决方案。 下面介绍4个速成方法&#xff0c;帮你轻松禁止电脑上…

AlmaLinux 9 安装mysql8.0.38

文件下载 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.39-linux-glibc2.12-x86_64.tar 选择合适系统版本 下载后解压 tar -xvf mysql-8.0.39-linux-glibc2.12-x86_64.tar解压后里面有三个文件夹 使用mysql-8.0.39-linux-glibc2.12-x86_64.tar.xz即可&#xff0c…

《牧神记》PV初体验,玄机科技再塑经典国漫

2024年9月26日《牧神记》动画版在Bilibili正式宣布定档于10月27日&#xff0c;并在各大社交媒体平台上发布系列精美海报&#xff0c;瞬间点燃了广大动漫爱好者的热情与期待&#xff01;作为一个长期关注国产动画的漫迷&#xff0c;我对玄机科技的作品一直抱有很高的期待&#x…

Ubuntu 16.04安装填坑记录

一. 问题描述&#xff1a; &#xff08;1&#xff09;Ubuntu 16.04使用USB启动盘安装时&#xff0c;出现"try ubuntu without installation"或“install ubuntu”选择&#xff0c;Enter选择安装后&#xff0c;显示器黑屏无任何显示。 原因分析&#xff1a; 显示黑…

26:WDG看门狗

WDG看门狗 1、看门狗的简介2、独立看门狗3、窗口看门狗4、独立看门狗代码5、窗口看门狗代码 1、看门狗的简介 1、看门狗的作用是监控程序的运行状态。当程序因为设计漏洞、硬件故障、电磁干扰等原因&#xff0c;出现卡死或跑飞现象时&#xff0c;看门狗能及时复位程序&#xf…

现行经济下,兜底的生存方式是什么?

最近在网上看到一个问题&#xff0c;在经济下行的时候&#xff0c;兜底的生存方式是什么,看到之后&#xff0c;就随便写写。 在现在的经济环境下&#xff0c;看看网上的裁员、降薪信息 到底什么才是兜底的生存方式&#xff0c;原来认识的人&#xff0c;包括我自己也在想失业后…

知识付费APP开发指南:基于在线教育系统源码的技术详解

本篇文章&#xff0c;我们将探讨基于在线教育系统源码的知识付费APP开发的技术细节&#xff0c;帮助开发者和企业快速入门。 一、选择合适的在线教育系统源码 选择合适的在线教育系统源码是开发的关键一步。市场上有许多开源和商业化的在线教育系统源码&#xff0c;开发者需要…

《深度学习》卷积神经网络 数据增强、保存最优模型 原理解析及实例实现

目录 一、数据增强 1、什么是数据增强 2、目的 3、常用的数据增强方法 4、数据预处理 用法&#xff1a; 5、使用数据增强增加训练数据 二、保存最优模型 1、什么是保存最优模型 2、定义CNN模型 运行结果&#xff1a; 3、设置训练模式 4、设置测试模式、保存最优模…

影院管理新篇章:小徐的Spring Boot应用

第三章 系统分析 整个系统的功能模块主要是对各个项目元素组合、分解和更换做出对应的单元&#xff0c;最后在根据各个系统模块来做出一个简单的原则&#xff0c;系统的整体设计是根据用户的需求来进行设计的。为了更好的服务于用户要从小徐影城管理系统的设计与实现方面上做出…

羽毛类型检测系统源码分享

羽毛类型检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

智尚招聘求职小程序V1.0.17

微信小程序招聘管理系统。支持多城市、人才版块、招聘会、职场资讯、经纪人入驻等功能。提供全部无加密源码&#xff0c;支持私有化部署。 V1.0.17增加功能 1、增加求职者投简历时检测简历状态功能 更新后无需重新发布前端

16 Midjourney从零到商用·实战篇:产品工业设计

未来的产品设计师&#xff0c;一定真的不能只会画图&#xff0c;要往多元化发展&#xff0c;要有更强的思维能力综合的判断能力&#xff0c;懂市场&#xff0c;懂加工&#xff0c;懂生产等&#xff0c;变成综合类人才。基础的设计工作部分已经被AI所取代&#xff0c;生产力在一…

redis 中IO多路复用与Epoll函数

一 IO多路复用 1.1 IO多路复用作用 1.2 同步异步阻塞非阻塞

UE4_Niagara基础实例—使用自定义模块二

效果&#xff1a; 粒子限制在球形范围内 操作步骤&#xff1a; 1、因为我们要对粒子的位置进行控制&#xff0c;所以需要开启本地空间&#xff0c;粒子与发射器位置有关。使用GPU计算模拟&#xff0c;需勾选固定边界。 2、简单调节其它参数&#xff1a; 3、现在我想把粒子锁定…

二分查找(2)

目录 x 的平方根 题解&#xff1a; 山脉数组的峰顶索引&#xff08;数组内只有一个峰值&#xff09; 题解&#xff1a; 寻找峰值&#xff08;数组内有多个峰值&#xff09; 题解&#xff1a; 寻找旋转排序数组中的最小值 题解&#xff1a; 点名 题解&#xff1a; 怎…

FreeRTOS 内存管理源码解析

目录 一、heap_11、源码讲解2、总结 二、heap_21、源码讲解1.1 堆的初始化1.2 内存分配1.3 内存释放 2、总结 三、heap_3四、heap_41、源码1.1 插入链表1.2 堆的初始化1.3 内存的申请1.4 内存的释放 2、总结 五、heap_51、源码1.1 堆的初始化1.2 链表的插入、内存分配、释放 2、…

五.海量数据实时分析-FlinkCDC+DorisConnector实现数据的全量增量同步

前言 前面四篇文字都在学习Doris的理论知识&#xff0c;也是比较枯燥&#xff0c;当然Doris的理论知识还很多&#xff0c;我们后面慢慢学&#xff0c;本篇文章我们尝试使用SpringBoot来整合Doris完成基本的CRUD。 由于 Doris 高度兼容 Mysql 协议&#xff0c;两者在 SQL 语法…

【滑动窗口算法】——定长滑动窗口——Python(附题)

一.定长滑动窗口是什么及其使用场景 定长滑动窗口算法的核心思想是使用两个指针&#xff0c;通常称为“左指针”和“右指针”。窗口的大小是固定的&#xff0c;右指针用于扩展窗口&#xff0c;直到达到指定大小&#xff0c;而左指针则在窗口移动时逐步向右滑动。这样可以高效地…

3款照片人物开口说话AI工具,跟真人说话一样~免费!短视频带货必备!(附教程)

大家好&#xff0c;我是画画的小强 今天给大家分享一个AI图片口播数字人讲认知思维&#xff0c;单号佣金赚5W的AI带货信息差玩法&#xff0c;许多小伙伴表示对这类AI带货玩法感兴趣。 说实话&#xff0c;现在AI照片人物对口型工具&#xff0c;越来越逼真&#xff0c;很难辨识出…

Codesys trace工具右键菜单框呼出异常的问题解决

这个问题困扰了好久&#xff0c;添加trace工具之后&#xff0c;一但在模型图位置右键后&#xff0c;整个codesys界面都无法呼出右键菜单&#xff0c;甚至会出现键盘输入失效的问题。 解决办法&#xff1a;更新trace工具 1、工具 —> CODESYS Installer 或者搜索CODESYS In…