自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 LeetCode刷题offer(3)-中等-寻找旋转排序数组中的最小值

)文章目录☀️ 前言 ☀️???? 作者简介 ???????? 一、题目描述 ???????? 二、题目解析 ???????? 三、代码 ????☁️ 1️⃣. python ☁️❄️???? 结语 ????文章目录☀️ 前言 ☀️算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!???? 作者简介 ????大家好,我是国王与乞丐,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我,每天坚持学点东西,我们以后就是大佬啦!???? 一、

2021-09-05 11:08:50 143

原创 LeetCode刷题offer(2)-中等-搜索二维矩阵

)文章目录☀️ 前言 ☀️???? 作者简介 ???????? 一、题目描述 ???????? 二、题目解析 ???????? 三、代码 ????☁️ 1️⃣. python ☁️❄️????四、别人的思路 ????????五、代码????☁️ 1️⃣. python ☁️❄️???? 结语 ????文章目录☀️ 前言 ☀️算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!???? 作者简介 ????大家好,我是国王与乞丐,一个尽力让无情的代码变得生动有

2021-09-05 09:44:17 132

原创 LeetCode刷题offer(1)-中等-在排序数组中查找元素的第一个和最后一个位置

)文章目录☀️ 前言 ☀️???? 作者简介 ???????? 一、题目描述 ???????? 二、题目解析 ???????? 三、代码 ????☁️ 1️⃣. python ☁️❄️????四、别人的思路 ????????五、代码????☁️ 1️⃣. python ☁️❄️???? 结语 ????文章目录☀️ 前言 ☀️算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!???? 作者简介 ????大家好,我是国王与乞丐,一个尽力让无情的代码变得生动有

2021-09-04 22:27:48 172

原创 JAVA图形-选取本地磁盘中的特定后缀名的文件(JFileChooser和FileFilter)

文件选择会话框JFileChooser1:JFileChooser() 构造一个指向用户默认目录的 JFileChooser。c:\winnt为打开文件为对话框的默认路径 2:JFileChooser(File currentDirectory) 使用给定的 File 作为路径来构造一个 JFileChooser。 setFileSelectionM

2017-05-22 17:25:55 4838

原创 JAVA图形界面总结1

因为最近课设需要,所以就学习了一些,先总结一点一.所要总结的知识点: 1.控件的正确摆放姿势. 2. java图形中常用的控件. 3.如何给JPanel,JLabel,JButton中添加背景图片 4.列表选择框JComboBox,JList 5.给面板或者控件设置炫酷边框二.逐一介绍: 1. java图形中常用的控件常用窗体:JFrame、JDialog。窗体好比一块空白的画布,

2017-05-22 12:41:58 5480

原创 L - Oil Deposits

题目大意 就是让你输入一个地图,‘#’代表空地, 用’@’代表油井, 让你找这片土地上的油田的个数,油田指的是,所有能从上下,左右,两条对角线相连的@,只要能连上中间不隔”#”, 就算是一个油田。解题思路 DFS能简单些,对每一个油井,它都有八个方向,要你去查找,看是不是油井,如果是就继续对它进行判断,如果不是就结束递归。如果已经查明它是油井,就将它标记为空地。具体看代码。代码# inc

2017-03-07 21:59:53 648 2

原创 M - 非常可乐

题目大意 三个杯子,S, A, B分别代表它们的容量,S=A+B, 先给S这个杯子倒满水,A,B不倒水, 要求是利用三个杯子平分S里边的水,问如果可以求倒水的次数(三个杯子可以互相倒水)解题思路 还是用BFS来做,三个杯子有6种倒法,难点就在于,如何倒水,以及最后判断是否平分,看了一个大神的做法,他是用数组的下标0,1,2来表示三个杯子,用它的值来表示杯子里的水量,这样只操作下标就可以操作

2017-03-07 21:14:01 358

原创 I - Fire Game

题目大意 一块地上面有草和空地,有两个人想要把草烧光,这样他俩就可以开心的OOXX,他俩都要在一块地上放火(每人只能放一次),可以在相同或者不同的位置放,火可以向四周蔓延,蔓延一次话费1分钟,问他俩把这块地上草烧完所用到的最小时间。解题思路 这个思路是我看一个大神的,感觉很好,就是将两人所能放火的位置都试一遍,比较得出所用最短的时间,具体用的是一个结构体数组将所有有草的位置全都记录下来,然

2017-03-06 20:50:25 947 1

原创 H - Pots

题目大意 输入两个容器的容量A,B,一开始让两个容器为空,然后给你对这两个容器的6种操作, 让你用这6种操作最终使得A或B容器里的水最终达到C,让你输出需要倒水的次数,以及从一开始到后来得到结果的路径。(要求C的大小在A和B之间)解题思路 还是BFS和DFS两者相结合,唯一的亮点就是最后输出路径是字符串,这样在定义结构体的时候要多加一个变量,用来作为路径数组的下标。代码# include

2017-03-06 20:25:36 972

原创 G - Shuffle'm Up

题目大意 输入两堆牌str1,str2, 将两堆牌交叉重叠为一副牌str, 交叉规则是str2最底部的牌先放,然后是str1最底部的牌放在刚才放的牌的上面,直到两副牌放完。然后再从str的最底部开始到str1长度的牌直接当成str1, 从这个位置到最顶部赋给str2;直到找到和一开始输入的牌相等的str,找出要执行几次这个过程。解题思路 这个题要用到map,利用它键值对应,以及当查找时,键

2017-03-05 13:46:07 498

原创 K - 迷宫问题

题目大意 定义一个二维数组: int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。 Input 一个5 × 5的二维数组,表示一个迷宫

2017-03-05 13:01:21 1037

原创 F - Prime Path

题目大意 在1000到10000的范围内,输入两个数,a,b。 b>a,现在要让你把a变成b。改变a四位数中的任何一位之后如果它为素数,就以他为基准继续变,直到它变成B(以素数为台阶)。思路 BFS思想,逐一由千位变到个位,每一位由1变到9,没变一次,比对这个数是不是素数,如果是就将它保存到队列中,循环里每次处理的都是上一个数,这才是广搜的核心。再使用一个一维数组,用变化后的素数表示下标,

2017-03-04 13:03:41 2555

原创 E - Find The Multiple

题目大意 输入一个整数,输出一个能整除它的数,这个数很特别,它只包含0和1。思路 1:只含有0,1的数可以这样求得,利用1,给它乘以10,给它乘以10后加1.每次对一它进行这两种操作 2:有两种方法,第一种DFS,用递归来做,终止递归的判别条件是,当这个数的长度超过19时,强制跳出当前的这条路,换一条路走。缺点是一条道走到黑,错过了中途好多的风景。另一种方法是BFS,利用循环和队列来

2017-03-04 12:15:09 3507 4

翻译 C - Catch That Cow

https://vjudge.net/contest/65959#problem/C题目大意 在一条笔直的道路上,农民要捉牛,给出农民和牛的位置,牛不动,农民有三种方式可以走,例如农民在5,牛在17. 农民可以倍数级走,5*2。可以向前走一步5+1, 向后走一步5-1,每一种方式都花费一分钟,问最少花费的时间可以捉到牛。思路 这是一道典型的广搜题,核心是使用一个一维数组,用它的下标记录农

2017-03-04 11:20:41 2719 4

翻译 Dungeon Master

题目大意 在一个城堡里有一只火龙,它要飞出这个城堡,有6个方向,上,下,左,右,前,后,可以飞行。每飞一次记录一分钟,’#’代表城墙,不能飞,空地可以飞,但记录时间。现在让你输入一个城堡R, L, C,R代表层数, L代表行,R代表列, S代表起点,E代表终点。找出它最快几步能飞出城堡。(他可以从一层跳到另一层的空地)思路 典型的广搜题,用一个3维数组来存这个棋盘,先记录起点和终点的位置。

2017-03-04 10:36:13 452

翻译 A-棋盘问题

题目链接: https://vjudge.net/contest/65959#problem/A题目大意 让你输入两个数字n,k。n代表一个n*n的棋盘, k代表你要给里面放的棋子,’#’代表棋子放置的区域, 要求是放入k颗棋子,每个棋子必须不同行,不同列, 问有多少种放置的方法。思路 1:用到了三个东西,递归,循环,和一个一维数组. 循环是用来控制棋子不同行,一维数组是用来控制棋

2017-03-04 09:50:49 841

原创 统计单词数(水题)

一.目的 感觉挺有意思,要考虑的东西很多。比如,怎么得出第一个相同单词的下标,并将它保存起来。怎么只比较以空格隔开的单词,还有防止越界等。二.题目大意 http://codevs.cn/problem/1131/三.大体思路 因为要比较单词是否相同, 就在一个while()内以空格为界线,去逐个判断各个字母是否相同,用一个数组将每一个相同单词首字母的下标记录下来(这里应该可以优化,不

2016-12-19 21:57:57 653 1

原创 用邻接表来表示BFS(广度优先搜索)

一.先看代码:/*广度优先遍历*/# include <stdio.h># include <stdlib.h># define max 10//邻接表 typedef struct node{ int adjvex; int weight; struct node *next;}NODE;typedef struct{ char data; NO

2016-12-16 21:27:48 943

原创 Prim算法生成最小生成树

一.先看代码:# include <stdio.h># include <stdlib.h># define max 20# define INEF 9999999//邻接矩阵 typedef struct node{ int vexnum;//顶点的个数 int arcnum;//边的个数 int arcs[max][max]; char vex[m

2016-12-16 19:02:54 820

原创 字符反转

目的 这道题我一开始写的有些复杂,优化之后简单了许多。所以想记录下来。题目大意: http://codevs.cn/problem/1130/思路: 1:因为这个数字后面的0,翻转过来不输出,所以开始我想的是再用一个变量sum来同步后面的0,只要后面相邻是0,变量sum就减一,直到遇到不是零的数,sum就不用再减了,然后输出,下次循环的时候sum与i不同步,所以就不断输出,具体看代码

2016-12-15 20:14:55 844

原创 用邻接表来表达DFS(深度优先搜索)

一.邻接表:1.简介 邻接表是图的链式存储结构,他克服了邻接矩阵的缺点,只存储定点之间有关联的信息,邻接表由边表 和定点表组成, 所以它存储的是稀疏图,也就是边数e < nlnn(n为顶点数),这样相比于邻接矩阵极大 的节省了空间,顶点表用于存放图中 每个顶点的信息以及指向该定点边表的头指针,顶点表采用的 是顺序存储结构。边表就是对于针对顶点表中的每一个定点建立链表,来存储与

2016-12-14 20:08:49 2940

原创 cantor表和笨小猴(水题)

一.目的: 总结一下之前写过的两个有意思的题。一个是关于字符串的处理,一个考验思维。题目大意 1:cantor表 http://codevs.cn/problem/1083/ 2:笨小猴 http://codevs.cn/problem/1053/Cantor表的解题思路 1:一开始我想的是创建一个二维数组来存储数据,因为每一个数据都是他所在的行比上对应的列,而

2016-12-12 19:25:05 393

原创 贪心入门2(活动安排问题)

题目: http://www.51nod.com/tutorial/course.html#!courseId=14解题思路: 1: 因为本题是求在时间不冲突的情况下,一个房间内能安排活动最多的次数。 2:4种不同的策略: (1) 开始最早的活动优先,目标是想尽早结束活动,让出教室。 (2) 短活动优先, 目标也是尽量空出教室。 (3) 最少冲突的活动优先,

2016-12-02 11:57:42 367

原创 贪心入门1(完美字符串)

一.题目 http://www.51nod.com/tutorial/course.html#!courseId=16二.思路整理 题目大致是要先求输入不同字母的个数(大小写字母可认同为一样),然后对这些字 母的个数有大到小进行排序,再对应乘以26-1不同的数,分别相加。具体看代码。贪心思想的体现 我的要求是最终求出来的字符完美度最大,那我就给出现次数最多的字母乘以最大的数,以

2016-12-02 09:57:07 609

原创 C++中的sort()和qsort()和C中的二维数组传参

一.目的 最近刷题总会遇到排序,因为快排已经写了很多了,就想省些时间用一下C++中的排序函数。 对于二维数组传参,以前解决过好多次,但总会忘记,所以今天总结一下。二.排序(头文件: ) 1.sort():对给定区间所有元素进行排序 该函数有两个参数的形式和三个参数的形式。 例如:对于一个一维数组排序. int a[10]; 两个参数: sort(a, a+10);//两个参数

2016-11-29 18:06:07 1470

原创 手机和求素数和(水题)

一.目的 今天做了几道水题,发现了几种自己没有的解题思路,就总结一下。题目大意: 1:手机 http://codevs.cn/problem/1461/ 2:求素数和 http://codevs.cn/problem/1462/1.手机的解题思路 本题是求对于给出的字符,你所点击手机按键的次数,因为每一个数字 按键都对应相应的字符,按一下出现第一个字符,按两下

2016-11-28 16:19:45 310

原创 金字塔和吊丝的逆袭(水题)

一.目的好久没写博客了,都不会写了,今天有那么刷题时,学习到了一些好的思路,给大家分享一下。 ## 题目大意 ##1.屌丝的逆袭http://www.codevs.cn/problem/1400/2.金字塔http://codevs.cn/problem/1438/二.解题思路1.屌丝的逆袭: 因为该题要求**前后左右人的魅力值总和最大的那个人的位置**,该题给了范围,行和列都小于等

2016-11-21 19:15:09 412

原创 C语言和java中生成随机数的原理和方法

C语言一.函数 1:int rand(void) 该函数会产生一个[0,RAND_MAX]的伪随机数,那什么是伪随机数? 相当于一个序列a1-an,第一次使用会返回a1, 第二次使用会返回a2….第n次返回an,这样每次调用rand()都能产生一个不同的数,只要整个序列的规律不明显,整个函数看起来就是随机的。 而这个序列是计算机通过调用srand((int)time(NULL))函数随机产生

2016-10-23 11:38:57 3923

原创 教你写一个简单的myshell

一.myshell的功能: 1. ls 2. 输入输出重定向 3. 管道操作 4. linux的内置命令 cd 5. 简单的history 6. 屏蔽ctrl + c 二.主要难点: 1.命令解析 2.进程的应用 3.cd命令的输出格式 三.代码:#include<stdio.h># include <sys/types.h># include <u

2016-08-07 20:31:05 1512 3

翻译 线程之间的通信实现wc -w

# include <pthread.h># include <ctype.h># include <stdlib.h>struct arg_set{ char *fname;//文件的名字和文件的词数 int count;};struct arg_set * mailbox;//容器pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZ

2016-08-05 16:49:04 747

原创 linux关于后台的操作

bash 分为前台和后台 ,后台的工作状态又分为暂停和运行中。 直接将命令丢到后台去“执行”的 & 1:本来一个bash环境只能执行一个工作,要想执行多个工作就可以将某些工作放到后台去执行。 好处: 不怕被ctrl + c中断, 坏处:但是要注意工作的数据流向, 一些错误信息会直接影响前台,而你还无法停止按ctrl +c 没用。 解决办法: 利用数据流重定向,将输出数据

2016-07-31 12:18:54 439

原创 LINUX进程优先级的设置和一些注意地方

安排进程的执行顺序:CPU調度和优先执行续 1.CPU調度: 指的是cpu对于进程它有自己的一套調度算法。 2.例行性工作調度:用户可以将某些程序安排给系统去让它在某个时间执行。 Priority与nice:这两个参数用来查看进程的优先级 //CPU一秒钟可以运行多达数G的微命令次数,这些命令肯定分主次,要不就乱了,这就考虑到了优先级。 ××××××× 优先级最终是通过PRI的值来规定的

2016-07-28 22:26:16 7456 1

原创 linux 下目录的操作

一.目录的操作:创建与删除, 获取当前目录, 设置工作目录, 获取目录信息, 1.创建: int mkdir(const char * path, mode_t mode)   //在头文件  两个参数第一个参数是你要创建的目录名,第二个参数应和父目录的权限一致。2.删除: int rmdir(const char * pathname) //只能删除由pathname指定的目录//

2016-07-24 20:24:43 384

原创 由CP函数认识文件的基本操作

文件的基本操作: 创建, 删除, 打开, 写入, 读出。#include#include#include#include#includeint main(int argc,char **argv){       char buf[100] = {0};       int fd2, fd1, td;        if(argc        {

2016-07-24 09:58:45 900 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除