(1)前言:本次BLOG主要对7到10周的内容做一个总结,过去几周进行了一次期中考和一次大作业。 1.大作业还是一如既往的难绷,但是我觉得第一题和第三题设计的非常好,首先学到了新知识,题量也刚刚好,刚好让人能够练习的同时也不会写的太多,这样的就十分的好;而第二题实在是太难受了,我感觉题
一、前言 PTA题目:考察了正则表达式,还有图像的判定,题目题量不多但是精选。图形题目难,代码量大,做起来困难,需要多思考。 期中考试:考察自定义类,抽象类,继承与多态,加强了对类理解使用,题目比起PTA来说较为正常,正常语法,题量三题。 二、设计与分析 PTA作业题目一:该题从每一行文
class Solution { public boolean less(String s, String t) { return s.charAt(0) < t.charAt(0); } public String largestGoodInteger(String num) { if(num.length() <= 2) return ""; String s = "000"
原题传送门 1. 题目描述 2. Solution 1 1、思路分析 动态规划: 设len(s1)=n,len(s2)=m。 1> 状态定义: f(i, j) 表示s1的前i个元素和s2的前j个元素是否能交错组成s3的前i+j个元素。 2> 边界: f(0, 0)=true 3> 状态转移方程: 如果s1的第i个 元素和s3的第i+j个元素相等,那么s1的前i个
这道题的题意是,给出一个字符串s和匹配串P。判断两个串是否匹配。特殊的是p串中会有. 和 *。.表示可以代替任意字符,*则是可以重复前面的字符任意次(0次也可以)大体上思路就是,对于p的一个*,比如说是a*,我们要搞明白这在s串中对应了究竟几个a。然后我们需要把匹配上的字符在原本的
题目描述: 解题思路: 首先是判断两个字符串的长度是否相同,如果不相同直接返回false 排序: 将两个字符串分别排序String.toCharArray,Arrays.sort,排序之后比较两个字符串是否相同Arrays.equals 哈希表1: 维护一个有26个元素的数组,(0--25————a--z) 先遍历字符串s,每次遇到一个字
题目: 我们定义,在以下情况时,单词的大写用法是正确的: 1.全部字母都是大写,比如 "USA" 。2.单词中所有字母都不是大写,比如 "leetcode" 。3.如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。 示例 1: 输
java实现字符串匹配 暴力匹配 /** * 暴力匹配 * * @param str1 需要找的总字符串 * @param str2 需要找到的字符串 * @return 找到的字符串的下标 */ private static int violence(String str1, String str2) { char[] s1 = str1.toCharArray(); char[] s2 = str2.t
前言:总结三次题目集的知识点、题目量、难度等情况 (1)知识点:1、题目01-7-1 if else的使用;2、题目01-7-2 对于输出格式的控制;3、题目01-7-3 对于输入格式的控制;4、题目01-7-4 数据类型强制转换的使用; 5、题目01-7-5 多层if else 的使用;6、题 目01-7-6 对于函数String.charAt(0)的
(1)题目集1-3前言: 题目集一:Java pta 题目集一的题目比较简单,一共有9个编程题,虽然题目量比较大,但是考察的都是比较基础的知识,主要考察Java的输入输出以及一些语法的使用,比如判断三角形类型、学号的识别、游戏角色选择等等。语法方面和C语言比较相似,只是表达方式不太一
前言: 第一次题目较多,难度较简单,题目由简到难,但是有些题目信息不准确,例如作业一7-1中BMI大于等于24小于28 :输出“overweight”。BMII大于等于28 :输出“fat”。但实际上实验中发现 1 if(BIM<18.5) 2 3 System.out.println("thin"); 4
796. 旋转字符串 - 力扣(LeetCode) (leetcode-cn.com) 给定两个字符串, s 和 goal。如果在若干次旋转操作之后,s 能变成 goal ,那么返回 true 。 s 的 旋转操作 就是将 s 最左边的字符移动到最右边。 例如, 若 s = 'abcde',在旋转一次之后结果就是'bcdea' 。 给定两个字符串
(1)前言 第一次PTA作业: 第一次PTA作业较为简单,题量相较于难易程度而言也是较为少的。这次作业许是检验我们是否在课设期间是否有自学翁恺老师的《零基础学Java》的课程。 于是,知识点也是较为的简单,和上个学期学习的基础程序设计也是大差不差,如:循环结构,分支结构等。 第二次PTA作业: 第
一:前言 首先,总结一下这几周的java学习和对pta题目集的分析。这学期我才刚刚接触到java语言的学习中来,但由于先前学习过C语言,所以入门起来还是相对轻松的。PTA题目集的第一次作业题目难度相对简单,主要就是考察java语言的一些基本运用(字符串,数组等简单运用)和简单的编写,虽然题比
接下来介绍两种常见的方法,代码示例如下: 1 public void test() { 2 String a = "hada16@54$1wd!6a41$da1dw5d6&a1d&a41d*w6d14a#d61d"; 3 /* 4 * 正则表达式(一般用这个) 5 * 6 * */ 7 String regEx = "[^0-9]"
检测字符串对称 public boolean SysS(String s) //对称 { int lens = s.length(); //获取长度 int t = lens - 1; //分别标注头尾 for(int h=0;h< lens/2;h++,t--) { if(s.charAt(h) != s.charAt(t)) //charAt可以返回字符串中指定索引的字符 return false; } retur
思路: 被迫练了一把js的正则。然而发现性能不太行。后来读了读题发现可以更加优雅的解决。 代码: 1 /** 2 * @param {string} s 3 * @return {number} 4 */ 5 var lengthOfLastWord = function(s) { 6 // let str = s.trim().split(/\s+/g);
问题描述 X星球的考古学家发现了一批古代留下来的密码。 这些密码是由A、B、C、D 四种植物的种子串成的序列。 仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。 由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。 你的任务是:给定一个现在看到的密码
先定义字符串String String str = "aeiou"; 定义字符 x 并取出其中第 i 个字符 char x = str.charAt( i ); 若 i = 3 ,输出 x 的值为 "o"
在开发以太坊的时候,我们会有个需求需要得到请求交互合约时的参数,那么这个时候我们应该如何获取呢 一.打开ETH浏览器:https://etherscan.io/ 二.点击你要查询的交易详情,下拉到最下面就是你需要的inputData信息(这个信息是用户在调用合约方法的时候传入的参数) 那么在程序中如何获
查找子串出现在原字符串第一次的索引 没找到返回1 public int strStr(String haystack, String needle) { if (haystack.length() < needle.length()) return -1; if (needle.length() == 0) return 0; int[] next = getNext(needle); for (in
文章目录 题目代码(i和j 法) 题目 代码(i和j 法) class Solution { public int compareVersion(String v1, String v2) { int i = 0, j = 0; int n = v1.length(), m = v2.length(); while(i < n || j < m) { int num1 =
一、charAt()方法用于返回指定索引出的字符。 1.描述 索引范围: 从 0到length()-1 范围内的 对于数组索引,序列的第一个char值是在索引 0 2.声明 声明java.lang.String.charAt( )方法 public char charAt(int index) 3.参数 index -- 字符的索引 4.返回值 返回指定索引处
题目链接 这题目真的很容易想到双指针。。。。 思路:动态规划 分析:如果两边长度不一样,那么肯定不行。 dp[i][j]=true 表示s1的前i个字符和s2的前j个字符能拼出来s3的前i+j个字符。 那么dp[i][j]的状态 取决于 s1的前i-1个字符和s2的前j个字符的状态和s1的第i-1个字符与s3的第i
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 public boolean isPalindrome(String s) { int n = s.length(); int left = 0, right = n - 1; while (left < right) { while (left < right && !Charact