老师在课堂是提出了这个问题,并且提出了时间复杂度是O(n)的要求,一开始我自己思想简单,在逻辑上出现了十分粗心的错误,后来同学们也在课堂上比较激烈地讨论了一番,也只是将时间复杂度降到了O(n*n),在下课之后也没有讨论出一个最终的结果. 但是当时我的同桌已经大概想出了大致的解决思路,当时由于临近下课我也没有继续做过多的思考,后来在网上参考算法的时候,觉得当时同桌的想法的确和答案差不多了. 由于我们需要的时间复杂度是O(n),所以我们一定能得到的就是,我=我们只能通过一个遍历将结果求出,那么就不可…
从我上一篇随笔中,我们可以得到最大连续子数组. 按照要求,我们需要从TXT文档中读取随机数,那在此之前,我们需要在程序中写入随机数 import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; public class Main { public static void main(…
,, 在本周的课堂上,老师再一次提高了要求,将一维数组升级成为了二维数组,然后求出块状的连续子数组. 一开始还想着借鉴之前球一维数组的O(n)的算法,后来还是没有找到头绪,舍友讲了自己的办法,但是没有去仔细去问,也就不了了之,他的那个虽然是O(n四次方)的算法,但是好在实现起来比较简便一点. 后来想了想没有想出来,查看相关的资料,找到了和之前求一维数组类似的方法,就是直接将这个二维数组降维,将它压缩成一维数组,这样讲可能不太好理解,下面举一个例子,来阐释这个方法: 我们首先设置一个数组:,在这种…
作业:使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”. 代码: package TestJava; import java.util.Scanner; public class SearchJava { static int num=0; public SearchJava() { num++; } int number; static public void show() { System.out.println("…
在团队开始的那一周,我们做了作品的功能畅想,在讲台上谈论了自己的产品可能会有的功能,比如说课程查找功能,空教室查找功能,霸屏功能,课程留言功能等,当然,随着开发的推进,我也发现了有些功能上实现的困难,比如说霸屏功能,这个功能的提出是因为我当时恰巧以前用过一款叫做番茄TODO的一个APP,而这个软件的主要功能就是可以设置一个强制学习时间,在这个时间里,用户手机无法离开APP的页面,即使后台也会返回,当时的确是被这个功能惊呆了,当我自己想要实现的时候,在网上寻找了好长时间,也没有没有找到类似实现的方…
题目要求: 1.在第一个问题过程中,我在以前的代码中好像已经写出了这个功能,想要实现这个功能,我们只需要在我们储存的数组和是负数的时候对中转值进行重新赋值就可以得到新的数值的起始位置,而他的终了位置就是程序运行到那个地方时候的数值,其余的输出也是十分简单的 2.题目要求每运行一次就需要稍作停留,由于当时没有仔细的看题目,所以导致理解错误,理解成了直接暂停,当触发按键的时候则继续开始,然后问老师这个功能其实也是可以实现的,这个问题我以后再考虑一下,过段时间再来思考这个问题,因为最近时间有点挤.那么…
一.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件 此代码没有使用walkfiletree,两者的差别在于walkfiletree在遍历文件的时候有一个遍历行为控制器——FileVisitor,里面定义了4个方法用来指定当你访问一个节点之前.之中.之后.失败时应该采取什么行动 public static void main(String[] args) { // TODO Auto-generated method stub File dir =…
一.多层的异常捕获-1 先贴出代码: public class CatchWho { public static void main(String[] args) { try { try { throw new ArrayIndexOutOfBoundsException(); } catch(ArrayIndexOutOfBoundsException e) { System.out.println( "ArrayIndexOutOfBoundsException" + "…
一.构造函数 问题一: 错误代码如图: 错误原因:从图片中的编译报错的地方来看,程序是在给新的对象分配空间是出现了问题,因而我们往下观察Foo类,Foo类的构造方法是有一个参数的有参方法,而前面构造新的对象的时候却没有添加参数,所以报错 问题二:这是一个生造出来展示Java语法特性的示例类,如果一个类中既有初始化块,又有构造方法,同时还设定了字段的初始值,谁说了算? 结果:我们按照图片中的代码演示了一遍,发现在第一次无参数的初始化时,输出的结果是100,而当第二次有参数的初始化的时候却是300.…
一.思路 1.我的想法是利用数组的做法来进行,先是用scanner录入一个String类 2.然后就是将String转化成char数组 3.递归的就是第一个和最后一个对比,然后第一个加一,最后一个减一,当后者位置小于1时,返回true,一旦不相等则直接返回false 二.代码 import java.util.Scanner; public class main { public static void main(String[] args) { // TODO Auto-generated m…