- 博客(42)
- 收藏
- 关注
原创 JAVA-贪心算法
**贪心算法:**在某一个标准下,优先考虑最满足标准的样本,最后考虑最不满足标准的样本,最终得到一个答案的算法,叫做贪心算法。即不从整体最优上加以考虑,做出的是在某种意义上的局部最优解。贪心算法的解题思路:首先实现一个不依靠贪心策略的解法;接着利用对数器依次对比贪心策略1、2、3等,利用实验来判断哪个贪心策略是正确的。注:不要纠结贪心算法的证明问题1.一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲,给你每一个项目的开始时间和结束时间(给你一个数组,里面是一个个具体的项目),你来安排宣讲
2022-05-17 19:48:39
346
原创 JAVA-前缀树
把字符串列表的字符串挂在树上,一般把字符建在路上,已经出现的字符可以复用。//只适用于26字母class Node{ int pass;//记录经过该节点的字符串个数 int end;//记录以该节点作为结尾的字符串的个数 Node[] nexts; public Node(){ pass=0; end=0; nexts=new Node[26]; }}class TrieTree{ //新建一个前缀树,
2022-05-17 10:57:31
309
原创 JAVA-图
(如代码有误,烦请各位指正)1.图的结构:用点集加边集的形式来实现//图定义包含两部分:点集和边集class Graph{ HashMap<Integer,Node> nodes; HashSet<Edge> edges; public Graph(){ nodes=new HashMap<Integer, Node>(); edges=new HashSet<Edge>(); }}//
2022-05-14 20:43:08
245
原创 JAVA-二叉树2
(代码如有错误,烦请各位指正)1.判断一棵二叉树是否是搜索二叉树搜索二叉树(Binary Search Tree):按照中序遍历输出的值是严格递增的。(1)使用之前的中序遍历实现//使用中序遍历判断是不是二叉树:把中序遍历的输出变成比较即可 static int preValue=Integer.MIN_VALUE; public static boolean isBinarySearchTree(Tree head){ if(head==null){
2022-05-11 16:57:00
168
原创 Java-二叉树
class Tree{ Object value; Tree left; Tree right; public Tree(Object value){ this.value=value; }}1.使用递归法实现二叉树的先序、中序、后序遍历 public static void orderRecur(Tree head){ if(head==null){ return; }
2022-05-09 17:24:33
315
原创 JAVA-两条单链表相交问题
1.找到单链表的入环节点使用快慢指针,快指针每次走两步,慢指针每次走一步。(1)快指针走到null,则表明该单链表没有环;(2)快慢指针相遇,首先将快指针返回到head并重新设置成每次走一步,则快慢指针再次相遇的节点就是入环节点。//找到单链表的入环节点:快慢指针public static Node getLoopNode(Node head){ if(head==null||head.next==null||head.next.next==null){ return nu
2022-05-09 12:25:50
306
原创 java-一些排序算法代码实现
1.选择排序package class01;import java.util.Arrays;public class SelectionSort { public static void main(String[] args){ int maxSize=100; int maxValue=1000; int times=50; for(int i=0;i<times;i++){ System.out.
2022-04-10 13:59:19
302
原创 JAVA-多线程
1.线程概述进程:在一个操作系统中,每个独立执行的程序都可以称之为一个线程。操作系统会为每一个进程分配一段有限的CPU使用时间,CPU在这段时间中执行某个进程,然后在下一段时间切换到另一个进程中去执行。线程:在一个进程中,可以有多个执行单元同时运行,这些执行单元可以看做程序执行的一条条线索,被称为线程。线程也是由CPU控制并轮流执行的。当一个java程序启动后,就会产生一个进程,该进程中会默认创建有个线程用来执行main函数代码。2.线程的创建(1)Thread类实现多线程步骤:创建一个Thr
2022-03-27 16:32:37
732
原创 java-I/O流
1.概述(1)字节流和字符流字节流:以字节为单位进行数据的读写字符流:以字符为单位进行数据的读写(2)输入流:只能从流中读取数据,不能写入数据输出流:只能向流中写入数据,不能读出数据(3)节点流:低级流,可以从一个特定的I/O设备中读写数据的流处理流:高级流,用于对一个已经存在的节点流进行连接和封装字节输入流:InputStream字节输出流:OutputStream字符输入流:Reader字符输入流:Writer2.字节流(1)概述InputStream常用方法:方法
2022-03-26 15:08:42
812
原创 java-集合
1.概述数组的长度不可变。java中的集合可以解决这一问题,储存长度可变的任意的数据类型。(1)单列集合Collection两个重要的子接口,为List和Set。List:元素有序、可重复。实现类为ArrayList、LinkedListSet:元素无序且不可重复。实现类为HashSet、TreeSet(2)双列集合Map用于储存具有键-值(Key、Value)映射关系的元素。主要实现类有HashMap和TreeMap2.Collection接口的通用方法方法功能bo
2022-03-13 12:42:43
1020
原创 java中的常见类
1.String和StringBuffer类(1)String字符串的基本操作:String s="lalalalalalllll";s.length();//返回字符串的长度s.charAt(0);//返回字符串中的第一个字符s.indexOf('a');//返回字符串中字符a第一次出现的位置s.lastIndexOf('a');//返回最后一个出现的位置s.indexOf("la");//返回子字符串la第一次出现的位置s.lastIndexOf("la");//子字符串最后一次出现的
2022-03-06 21:05:05
293
原创 java-面向对象(下)
1.继承(1)extends关键字使用:class Animal{ String name; void shout(){ System.out.println("shout"); }}class Dog extends Animal{ public void printname(){ System.out.println(name); }}public class Example{ public static main(String[] args){ Dog x=new
2022-03-05 17:16:22
2227
原创 java-面向对象(上)
1.概述封装:将对象的属性和行为封装起来;继承:描述类与类之间的关系,对原有类的功能进行扩展多态:一个类中定义的属性和功能被其他类继承后,当把子类对象直接赋值给父类引用变量时,相同引用类型的变量调用同一个方法所呈现出的多种不同的行为特性类:对某一类事物的抽象描述对象:现实中某一类事物的个体类的定义:[修饰符] class [extends 父类名] [implements 接口名]{ //类体,包括类的成员变量和成员方法 //声明成员变量 [修饰符] 数据类型 变量名[=值];//修饰符
2022-02-28 11:12:09
124
原创 java-基础内容
1.HelloWorld程序public class HelloWorld { public static void main(String[] args) { System.out.println("hello world!"); }}//注意文件名要与类名相同2.注释//这个只能注释一行代码/*这个可以注释多行代码*//**文档注释:该内容可以自动提取到一个程序说明书中去*/单行注释快捷键:ctrl+/多行注释快捷键:ctrl+shif
2022-01-19 17:20:06
182
原创 python-tkinter组件的使用(2)
(1)Button组件创建和显示:对象=Button(窗口对象,text=‘button组件显示的文本’,command=单击按钮调用的对象)对象.pack()利用button组件显示图片:bm=(hotoImage(file=’’)b=Button(win,text=’’,command=单击按钮调用的对象,image=bm)b.bm=bm设置button组件的大小:width用于...
2019-03-04 17:23:15
372
原创 python-常用tkinter组件的使用
(1)弹出消息框:首先需要引入tkinter.messagebox模块:from tkinter.messagebox import*①弹出提示消息框showinfo(title=标题,message=内容)②弹出警告消息框showwarning(title=标题,message=内容)③弹出错误消息框showerror=(title=标题,message=内容)④弹出疑问消...
2019-03-03 11:58:20
753
原创 python学习-I/O编程
(1)输入数据:input()输出数据:print()name=input()print("name:"+name)print("name:%s"%(name))for i in range(1,10): print(i)for i in range(1,10):name=input()print("name:"+name)print("name:%s"%(name))f...
2019-03-01 17:16:05
135
原创 python学习-函数式编程常用的函数、闭包和递归函数、迭代器和生成器
(1)lambda表达式①lambda函数:lambda表达式的函数体只能有唯一的一条语句,也就是返回值表达式语句。语法:返回函数名=lambda 参数列表:函数返回值表达式语句sum=lambda x,y,z:x+y+z②lambda表达式序列:语法:序列=[(lambda 表达式1),(lambda 表达式2),……]arr=[(lambda x:x**2),(lambda x:...
2019-02-27 21:37:23
210
原创 python-类的继承和多态
(1)继承import timeclass users: username=' ' def __init__(self,uname): self.username=uname print('(构造函数;'+self.username+')')#显示用户名 def dispusername(self): print(self...
2019-02-26 21:02:13
188
原创 python学习-类
(1)声明类:class 类名:成员变量(python使用下划线作为变量前缀和后缀来指定特殊变量,_xxx_表示系统定义名字_xxx为类中的私有变量名)成员函数(成员函数必须有一个参数)class person: def sayhello(self): print('hello')在这里插入代码片(2)定义对象的方法:对象名=类名():p=person()(...
2019-02-26 19:47:49
129
原创 python学习-列表、元组、字典、集合
(1)定义列表:menulist[’ ‘,’ '](2)打印列表:print(列表名)(3)获取列表长度:len(列表名)(4)访问列表元素:列表名[index] index为元素索引,第一个元素的索引为0,以后依次类推(5)添加列表元素:列表名.append(新值) 在列表尾部添加(6)insert(插入位置,新值)在列表的指定位置插入元素(7)列表1.extend(列表2) 将...
2019-02-25 20:52:10
136
原创 python学习-常量、变量、运算符、常用语句
(1)字符串常用‘’或“”括起来。如果在字符串里需要使用‘’或“”则需要使用转义字符\。如,‘字符串常用\‘括起来’(2)使用三引号‘‘‘或“““指定多行字符串。如,‘‘‘第一行第二行第三行’’’在使用‘’或“”括起来的字符串中也可以在行尾加上\实现多行字符串如,‘第一行第二行第三行’(3)unicode字符前面介绍的字符用来处理ASCII码,使用中文等需要用unicod...
2019-02-25 20:08:52
288
原创 遥控小车----arduino,L298n(红),HC-05
所需器件:(1)arduino板子(2)L298n电机控制模块(3)HC-05蓝牙模块(4)亚克力板小车,两个电机等(5)电池(6)安卓手机器件的检验:(1)电机:接电池的正负极,反接电机反转(2)L298n:12v接口接电池正极,gnd接地;IN1,IN2分别接正负极,OUT1,OUT2接一个电机,反接电机反转;IN3,IN4,OUT3,OUT4同理(3)HC-0...
2019-02-07 14:04:16
1343
原创 opencv-图像对比度,亮度值调整
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;static void on_ContrastAndBright(int, void*);int g_nContrastValue;//对比度值int g_nBrightValue;//亮...
2019-01-29 20:45:04
356
原创 opencv-通道分离和合并
通道分离:void split(const Mat&src,Matmvbegin);(1)填需要分离的多通道数组(2)填函数的输出数组或者输出的vector容器通道合并:void merge(const Matmv,size_tcount,outputarray dst);或者void merge(inputarrayofarrays mv,outputarray dst);...
2019-01-29 20:14:14
169
原创 opencv-图像的初级混合
void addWeighted(inputarray src1,double alpha1,inputarray src2,doubke alpha2,double gamma ,outputarray dst,int dtype=-1);(1)第一个Mat类(2)第一个Mat类的权重(3)第二个Mat类(4)第二个Mat类的权重(5)一个加到权值总和上的标量值(6)输出的Mat类...
2019-01-28 17:37:27
136
原创 opencv-访问图像中的像素
#include &lt;iostream&gt;#include &lt;opencv2/opencv.hpp&gt;using namespace cv;using namespace std;void colorReduce(Mat&amp;inputImage, Mat&amp;outputImage, int div);//全局函数声明 颜色空间缩减函数int main().
2019-01-27 15:50:26
130
原创 opencv-基本图形的绘制
#include <iostream>#include <opencv2/opencv.hpp>#define WINDOW_NAME1 "[绘制图1]"#define WINDOW_NAME2 "[绘制图2]"#define WINDOW_WIDTH 600using namespace cv;void DrawEllipse(Mat img, double...
2019-01-27 15:03:23
376
原创 opencv-鼠标操作
/指定鼠标操作消息回调函数为SetMouseCallbackvoid setMouseCallback(const string &amp;amp;winname,MouseCallback onMouse,voiduserdata=0);(1)窗口的名字(2)指定窗口里每次鼠标时间发生的时候,被调用的函数指针。这个函数的原型的大概形式为void Foo(int event,int x,int y,...
2019-01-26 13:46:34
162
原创 opencv-滑动条的创建与使用-实现两幅图片的线性混合
/createTrackbar函数用于创建一个可以跳整数值的滑动条并将滑动条附加到一个指定的窗口上,它往往和一个回调函数配合使用(回调函数:一个通过函数指针调用的函数。如果我们把函数的指针作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,称其为回调函数。int createTrackbar(const string& trackbarname,const string&a...
2019-01-26 12:48:12
405
原创 opencv-综合示例 图像的载入显示与输出
#include “pch.h”#include #include <opencv2/opencv.hpp>using namespace cv;int main(){/图像的载入和显示/Mat girl = imread(“C:/Users/csh/Desktop/1.jpg”);//载入图像namedWindow(“1.动漫图”);//创建一个名为。。。的窗口im...
2019-01-24 18:01:54
228
原创 opencv-生成一幅png图像并写入到当前文件夹下
#include “pch.h”#include #include <opencv2/opencv.hpp>#include using namespace cv;using namespace std;void createAlphaMat(Mat &mat){for (int i = 0; i < mat.rows; ++i){for (int j...
2019-01-24 17:02:29
996
原创 opencv-imread(),imshow(),namewindow(),imwrite()
Mat imread(const string& filename,intflages=1);(1)第一个参数:填需要载入的图片路径(2)第二个参数:自带默认值为1。调用时忽略这个参数,表示载入的是三通道的彩色图像。CV_LOAD_IMAGE_GRAYSCALE—0:将图像转换成灰度再返回;CV_LOAD_IMAGE_COLO—1;CV_LOAD_IMAGE_ANYDEPTH—2:如果...
2019-01-24 16:33:05
268
原创 opencv-读取并播放视频
#include “pch.h”#include #include &lt;opencv2/opencv.hpp&gt;using namespace cv;int main(){VideoCapture capture;capture.open(“C:/Users/csh/Desktop/2.avi”);while (1)//利用循环把每一帧显示出来{Mat frame;//...
2019-01-22 14:19:42
6490
原创 opencv-Canny边缘化
/载入图像,并将其转换为灰度图,再用blur函数模糊以降噪,然后用canny函数进行边缘化检测/#include “pch.h”#include #include <opencv2/opencv.hpp>using namespace cv;int main(){Mat image = imread(“C:/Users/csh/Desktop/1.jpg”);imsho...
2019-01-22 14:04:20
254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人