【Java】一只小菜坤的编程题之旅【1】

news2024/11/16 17:35:37

文章目录

  • 1.判断是否为回文字符串(题号:牛客NC141 )
  • 2、求平方根(题号:牛客NC32 )
  • 3.截断句子(力扣)
  • 4.删除有序数组中的重复项(力扣)


1.判断是否为回文字符串(题号:牛客NC141 )

在这里插入图片描述

新手菜坤的答案:

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param str string字符串 待判断的字符串
     * @return bool布尔型
     */
    public boolean judge (String str) {
        // write code here
        int right=str.length()-1;
        int left=0;
            while (left<right){
                if (str.charAt(left)!=str.charAt(right)){
                return false;
                }
            left++;
            right--;
            }
             return true;
        }
        
    }

此题技巧:使用双指针法。

2、求平方根(题号:牛客NC32 )

在这里插入图片描述
直接遍历

import java.util.*;
public class Solution {
    /**
     * 
     * @param x int整型 
     * @return int整型
     */
    public int sqrt (int x) {
        // write code here
        int res = 1;
        // 注意转换为 long, 否则会产生溢出
        while ((long)res * res <= x) {
            res=res+1;
        }
        return res-1;
    }
}

3.截断句子(力扣)

在这里插入图片描述
这本来是非常简单的一道题,但我一看到题目就想暴力遍历,写了好几次都出现错误,但好在最后还是搞出来了,但是时间和空间复杂度都比较高。

 public  class Solution  {
    public static String truncateSentence(String s, int k) {
        int count=0;
        int len1=s.length();
        String S="";
        for(int i=0;i<=len1-1;i++){
            if (count!=k){
              if(s.charAt(i) != ' '){
                S=S+s.charAt(i);
              }
              else {
                if(count!=k-1){
                S=S+' ';
                  }
                count++;
              }
            }
            else
                break;

        }
        int len2=S.length();
        return  S.substring(0,len2);
    }
}

4.删除有序数组中的重复项(力扣)

在这里插入图片描述
在这里插入图片描述
此题技巧:使用快慢指针,这种解法不需要额外的空间,而且时间复杂度非常低。

class Solution {
   public int removeDuplicates(int[] nums) {
        int slow = 0;
        for(int fast = 1; fast < nums.length; fast++) {
            if (nums[fast] != nums[slow]) {
                slow++;
                nums[slow] = nums[fast];
            }
        }
        return slow + 1;
    }

}

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

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

相关文章

Simulink仿真模块 - Memory

Memory:输出上一个时间步的输入 在仿真库中的位置为:Simulink / Discrete HDL Coder / Discrete 模型为: 双击模型打开参数设置界面,如图所示: 说明 Memory 模块将其输入保持并延迟一个主积分时间步。当放置于迭代子系统中时,该模块将其输入保持并延迟一个迭代。…

聚焦前沿技术产业应用,文心大模型应用研讨会于广州顺利举办

当前&#xff0c;人工智能已经成为新一轮科技革命和产业变革的重要驱动力量&#xff0c;基于强算法、大算力和大数据的大模型成为人工智能发展的主流方向。 为进一步探索AI大模型的产业实践&#xff0c;2023年7月4日下午&#xff0c;由文心大模型和飞桨主办的“AI私享会-文心大…

STM32使用printf重定向到USART(串口)并打印数据到串口助手

STM32使用sprintf打印数据到串口助手 一.背景知识二. 重定向printf到USART1三.使用printf打印hello,world到串口助手3.1 usart.c3.2 usart.h3.3 main.c 四. 实验现象五.结语 一.背景知识 我们知道我们在进行编程的时候&#xff0c;遇到问题&#xff0c;经常通过打印信息进行调…

【MySQL】不允许你不会创建高级联结

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集&#xff01; &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指…

浅谈一下 webpack 以及 loader 和 plugin

话说&#xff0c;前端练习时长也快两年了&#xff0c;但是关于 webpack 的东西好像也没怎么研究过 &#x1f605; &#x1f6a9;一是没有这方面的需求&#xff1a;回想一下&#xff0c;关于 webpack 的配置相关工作&#xff0c;也就只有自己配置过一次 loader「使用 svg-sprit…

5G工业路由器赋能无人驾驶技术发展,无线车联网应用方案

随着无人驾驶技术进入大众视野&#xff0c;5G技术已广泛应用在各行各业中&#xff0c;无人驾驶也成了汽车自动化发展的核心趋势。无人驾驶技术需要满足低时延、高效率、大带宽、稳定性等硬性要求&#xff0c;工业路由器IR2730采用5G网络快速接入&#xff0c;拥有广泛连接能力&a…

appium 笔记

配置相关信息查看 appium.io 初始化&#xff1a; desired_caps {} desired_caps["automationName"] "UiAutomator2" desired_caps["platformName"] "Android" # 操作系统类型 desired_caps["platformVersion"] "5…

[入门必看]数据结构6.2:图的存储及基本操作

[入门必看]数据结构6.2&#xff1a;图的存储及基本操作 第六章 图6.2 图的存储及基本操作知识总览6.2.1 邻接矩阵法6.2.2 邻接表法6.2.36.2.4 十字链表、邻接多重表6.2.5 图的基本操作 6.2.1 邻接矩阵法图的存储——邻接矩阵法邻接矩阵法存储带权图&#xff08;网&#xff09;邻…

OpenAI再建顶级团队,重金招聘核心岗成员,阻止超级AI的威胁!

“AI确实可能会杀死人类。”这并不是哪家自媒体为博人眼球而发表的谣言&#xff0c;而是ChatGPT之父、OpenAI CEO山姆奥尔特曼在今年3月与MIT研究科学家Lex Fridman对话时亲口所说的一句话。 如今&#xff0c;这位全世界最受瞩目的老板决定采取行动&#xff0c;以阻止自己的预…

【算法】AcWing算法基础课笔记 第一章 基础算法 Part 1

&#x1f680;Write In Front&#x1f680; &#x1f4dd;个人主页&#xff1a;令夏二十三 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f4e3;系列专栏&#xff1a;AcWing &#x1f4ac;总结&#xff1a;希望你看完之后&#xff0c;能对你…

Python程序设计基础:列表与元组(一)

文章目录 一、列表的表示与访问1、列表的表示2、列表的访问 二、列表的元素操作1、元素的修改2、元素的增加3、元素的删除4、其他操作 三、列表操作1、列表的遍历2、列表的排序3、列表的切片4、列表的扩充5、列表的复制6、列表的删除 一、列表的表示与访问 1、列表的表示 列表…

自营外卖配送平台的商家如何对接第三方美饿的订单

自营外卖跑腿平台对接第三方美饿的好处 单说美团饿了么自身的流量优势&#xff0c;很多商家不能忽视&#xff0c;但是美团饿了么的高额配送成本与抽成&#xff0c;同样也不能忽视。很多商家希望选择自配送或者其他更划算的配送方式来节省成本。这时&#xff0c;区域性的自建外…

【Java】单例模式

单例模式 设计模式概述单例模式实现思路饿汉式懒汉式饿汉式 vs 懒汉式 设计模式概述 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式免去我们自己再思考和摸索。就像是经典的棋谱&#xff0c;不同的棋局&#xff0c;我…

AttributeError: module ‘collections‘ has no attribute ‘Iterable‘

vitables 出现 AttributeError: module collections has no attribute Iterable错误修改如下图&#xff1a;

PCIE转PMC载板

描述 这是一款被动适配卡&#xff0c;它支持通过要转换为 PCIe x4 通道边缘连接器的 AMC 接头&#xff0c;来选择 TI EVM&#xff1b;因此它可被插入一个台式计算机或使用 PCIe 接头的任何位置。选定的 TI EVM 支持 DSP 上的本地 PCIe。此卡作为适配器&#xff0c;需要可与 AMC…

Linux与Windows:操作系统的比较与技巧分享

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

Java 动态规划 Leetcode 62. 不同路径

代码展示&#xff1a; class Solution {public int uniquePaths(int m, int n) {//定义dp数组//二维数组多增加一行一列&#xff0c;方便对数组进行初始化int[][]dpnew int[m1][n1];//初始化dp[0][1]1;//填充数组for(int i1;i<m;i){for(int j1;j<n;j){dp[i][j]dp[i-1][j…

@Around踩坑记录

Around踩坑记录 先上结论&#xff1a; 如果你在定义切面的时候打算使用环绕通知➕定义注解的方式&#xff0c;那么在进行*Around*("(annotation(costTrace))") 类似这样的定义的时候&#xff0c;”costTrace“一定要与你定义切面中入参的参数名字一致&#xff0c;而…

【嵌入式Qt开发入门】Qt如何使用多线程——初识QThread

我们写的一个应用程序&#xff0c;应用程序跑起来后一般情况下只有一个线程&#xff0c;但是可能也有特殊情况。比如我们前几篇的例程都跑起来后只有一个线程&#xff0c;就是程序的主线程。线程内的操作都是顺序执行的。但试着想一下&#xff0c;我们的程序顺序执行&#xff0…

模拟日志数据

模拟日志数据。。 日志模拟器主要模拟站点的用户信息和用户行为日志数据 使用shell调用java类实现数据的生产 ! 所需文件如下: datagen.jar genlog.sh 注意: 存储数据的文件夹要预先创建好 Bash mkdir -p /tmp/doit/user_data mkdir -p /tmp/doit/log_data 将用来模拟生成…