aaaaa

50 posts
算法大挑战-中位数下标
算法大挑战

算法大挑战-中位数下标

一、前记(3/3) 咕咕咕咕咕咕咕咕咕咕咕,咕呱咕呱,布谷布谷 二、题目描述(易)三、解题思路 1、我的思路 简简单单,我的解题思路其实非常简单。当我看到题目的时候脑壳里面就已经冒出来两种做法了。 做法一:利用numpy来求得中位数,求得中位数之后,再看得到的值在原列表的索引为多少。 import numpy as np class Solution: """

  • aaaaa
算法大挑战-会议室
算法大挑战

算法大挑战-会议室

一、前记(2/3) 这周的CTF比赛实在是太多了,今天刚刚结束2020CISCN。明天就要准备2020强网杯的比赛,太顶了!!!希望能认真的将这大学期间最后的CTF比赛打完。 二、题目描述三、题目分析 1、我的分析 这道题其实说简单也还是简单,说难也比较难。简化思路:这道题就是一个求交集的一个思路。在有序元组的情况下,如果交集存在,就返回false;如果交集不存在,就返回True。 参考代码: class Solution: """ @param

  • aaaaa
算法大挑战-合法文章
算法大挑战

算法大挑战-合法文章

一、前记(1/3) 先说明一个事情嗷,因为下个星期就要回学校了,所以下个星期暂停更新“算法大挑战”系列,下个星期更多的是,整理算法内容和将之前一直咕咕的文章给写出来(多是wp)。 二、题目描述三、解题思路 1、我的思路 我的思路我感觉比较复杂。首先可以确定的是,我们是从头开始逐个扫描的。所以要考虑的是如何识别出一个单词是否为句子的开头或者为句子的中的某一个单词而已。题目中说了,不合法的文章一共有两种:第一种为句子的第一个字母用了小写,第二种为不是首字母的单词用了大写。我们就需要设置一个判断位,用来判断当前单词是否为句首单词(句首的前一个字符必为“.”)。当当前字符为“.”时判断位恢复到True,

  • aaaaa
算法大挑战-反转字符串里的单词
算法大挑战

算法大挑战-反转字符串里的单词

一、前记(3/3) 号外!号外!此blog主算法高产(好吧,其实是为了赶进度肝了两天),最近在刷九章的算法,在打九章的码力测试的时候,发现有些专属题出的还不错,但是毕竟是专属题,连答案的代码都不会给乞丐版的看,只有氪金的人才能看。(太可恶了!!!) 二、题目描述特别要注意说明和示例2里面的情况,不能太楞了三、解题思路 1、我的思路 因为单词之间必有空格,不管待翻转的字符串每个单词之间有多少个空格,要求输出的字符串单词之间必须空格只有一个(详见示例3)。所以照着这种情况来看的话,我们完全可以使用split()以空格来分割字符串,使用join用空格进行连接。

  • aaaaa
算法大挑战-只出现一次的数字
算法大挑战

算法大挑战-只出现一次的数字

一、前记(2/3) 差点忘了这一周的的“算法大挑战”系列。不过还好有时间来学习算法。今天的题是我在做算法测试的时候遇到的一道题,觉得还是非常有意思,于是来记录一下。 二、题目描述三、解题思路 1、我的思路 因为我是用的是Python,我感觉这道题做起来并不难。直接就是列表里面计数就完事。 参考代码: class Solution: def singleNumber(self, nums) -> int: for

  • aaaaa
算法大挑战-无重复字符的最长字串
算法大挑战

算法大挑战-无重复字符的最长字串

一、前记(1/3) 今天还本来打算出一趟小远门,但是犹豫了一下。幸好犹豫了那么一下,今天我家这边大雨,所幸没有造成一年前的惨剧(嘿嘿!)今天窝在家里面看了一天的雨,我真的太爱看下雨了!!! 二、题目描述 这道题比我想的远远要有意思。我一开始没做是因为看难度这是一个中等题目。以为会比较难,但是如果使用Python的话,确实写起来不难。 三、解题思路 1、我的思路 其实我的思路比较简单,定义首(i)尾(l)两个计数点,再定义一个记录长度的length。

  • aaaaa
算法大挑战-合并两个有序链表
算法大挑战

算法大挑战-合并两个有序链表

一、前记(3/3) 怎么感觉现在都顺延了一天,不行不能如此懒惰,这个星期必然打满卡。今天没有使用Python来写题,因为今天的题目是我结合考研专业课复习来选择的题目。用C语言写的,还是比较有意思。 二、题目描述 这个题是一个典型的单链表插入重组的一个问题。只要是链表的位置移动都还是比较简单的,只需要把地址赋值一下就可以了。 三、解题思路 1、我的思路 我的思路简简单单,普普通通。重新开辟一块新的单链表内存空间(t=head),大小就为struct ListNode就行,作用是用于记录;然后比较两个单链表里面的值,让t-&

  • aaaaa
算法大挑战-合并两个有序数组
算法大挑战

算法大挑战-合并两个有序数组

一、前记(2/3) 差点这个星期的blog也给咕咕了。数学强化学到积分那里好难。还好坚持下来今天搞定了(意味着高数上的内容全部搞定),晚上把我的apple pencil充上电再总结一下高数上的内容。(美滋滋!!!)专业课肝到线性表就觉得好烦,书本是使用C or C艹进行讲解的,我一个Python简直顶不住。语法什么的也太不一样了吧。不过还好,数据结构以前的呃内容都还是记得到,不难不难。 二、题目描述u1s1,这个题如果是C来写的话,我个人觉得可能会比较麻烦,可能会创建一个新的数组外加双指针来解决问题(只是猜想,还没有具体的验证)。但是在Python里面就不用去考虑这些有的没的。 三、解题思路

  • aaaaa
算法大挑战-x的平方根
算法大挑战

算法大挑战-x的平方根

一、前记(1/3) 最近有在认真的学习。最近把CISCN的报名弄完成了一下,这就标志着有可能是大学里最后一场网络安全竞赛就要来了。(爷青结😢) 二、题目描述 这道题我在看的时候就感觉奇奇怪怪。作为一个CRYPTO手,我一般要得到平方根的结果直接就是:import math,来进行各种数学运算。但是在这个里面应该是要学习一些算法吧。 三、解题思路 1、我的思路 方法一:调用math库 没啥说的,注意题目要求就行 参考代码 import math class Solution:

  • aaaaa
算法大挑战-二进制求和
算法大挑战

算法大挑战-二进制求和

一、前记(3/3) 嘿嘿!非常不好意思,这一篇算法咕咕了一天,还好今天有认真的做人。因为最近有好多的聚会(外公过86岁生日)和比赛(WMCTF),所以这一篇blog在上个星期就没有来得及写。这个星期要好好做人了,上个星期过的太快乐了。争取留下时间可以和女朋友去一趟重庆耍。 二、题目描述三、解题思路 1、我的思路 我的思路比较取巧,应该算是懒人专属。二进制转十进制的过程就不必叙述了,不难,不会的可以上网去百度一下。首先第一步:就是先将索引顺序转换成正确的运算顺序[::-1]。第二步:

  • aaaaa
算法大挑战-加一
算法大挑战

算法大挑战-加一

一、前记(2/3) 今天尝试了一下将pycharm里面的代码直接传到Github上,还是比较方便的,感觉多了一个生产力!!!(嘿嘿)可惜最近没啥项目可以传到GitHub里面,之前写的大数据网站和python爬虫的东西都删掉了(可惜可惜)。以后会慢慢地写一些大一点的项目,写完之后会传到GitHub上面。 二、题目描述三、解题思路 1、我的思路 其实我的思路比较简单:list不能直接转化成int。那我先将list转化成str,再将str转换成int。再做一个简单的+1算法,最后int->str->list就完成了。 但在这里我学到了一个非常有意思的函数--map(

  • aaaaa
算法大挑战-最后一个单词的长度
算法大挑战

算法大挑战-最后一个单词的长度

一、前记(1/3) 嘿嘿,今天没啥想复习的念头,趁机把博客整理了一下,把“算法大挑战”这个系列单独列了出来。博客就没有那么杂乱无章了。 二、题目描述 我觉得在示例那个位置应该再举两个例子出来: 示例: 输入:“” 输出:0 输入:“happy” 输出:5 三、解题思路 1、我的思路 其实这道题我一开始写错了,我以为题目的检查机制都是正常的字符串,像:“hello

  • aaaaa
算法大挑战-搜索插入位置
算法大挑战

算法大挑战-搜索插入位置

一、前记(3/3) 今天完成了本周的算法任务,这样一路一路的坚持下来还挺不容易的,希望自己能坚持下来。这周学习到了两个非常重要的算法:第一个就是上次见到的非常有意思的KMP算法(会单独拿出来专门写一篇blog)。一个就是今天学习到的二分法。其实第一次见到二分法应该是在大一的时候,但是都已经记不得了,今天这个题目刚好可以使用二分法进行解决。 二、题目描述三、解题思路 1、我的思路 我的思路特别的常规。因为给的数组是一个顺序数组(从小到大),就按照顺序进行比较。当target<=nums[i]的时候就找到了适合target的索引值,返回i的值就可以。但是在这里一定要注意一点,

  • aaaaa
算法大挑战(KMP算法)
算法大挑战

算法大挑战(KMP算法)

一、前记(2/3) 浑浑噩噩,感觉每天的时间都不够用,到了12点总结的时候,发现还有一些题没做,还有一些东西没背(太烦!!)。数学题每天花上2,3个小时只能写上40道题左右,这在考研考试的时候怎么够用呢?单词背了就忘,好像每天都在和遗忘打仗。今天尝试着听了一下徐涛老师的考研政治,全程就是:我是谁?我在哪里?我在干嘛?如果到了后面还是这样不太好的复习状态,那可能会暂停一下“算法大挑战”这个系列。 二、题目描述 在这道题里面要注意几个点:1、haystack里面的有完整的needle字符串,而不是零散的字符。

  • aaaaa
算法大挑战-移除元素
算法大挑战

算法大挑战-移除元素

一、前记(1/3) 最近感觉特别地懈怠,大概丧了有两三天,书没有认真的读,题也没有认真的写。好在今天有及时的调整心态认真写题,要不然得继续丧下去。 二、题目描述u1s1,这个题目还是比较地好玩,这道题和上一道题也是有相似的地方。除了不能使用set()函数之外,其他地方我觉得思路都差不多,尤其是使用链表的这种方法。 三、解题思路 (1)我的思路 就是在nums里面,从左到右以此查找符合val的值,如果符合val的值,那么就删除。 #encoding:utf-8 class Solution(

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(3/3) 最近这两天天气都有一点阴晴不定的,希望大家都好好地保重自己的身体,别感冒了。今天还有一个好消息:考研数学我已经完整的复习一遍了。下一个阶段应该就到了强化阶段,开始要每天疯狂地刷题。(要开始苦逼了😢) 二、题目描述 在这个题里面有几个要点要特别注意:第一个就是给定的列表类型的,但是输出要求的是数组;第二个就是本身题目的要求:要没有重复的数值。 三、解题思路 1、我的解题思路 (1)u1s1,我的解题思路不是题目的要求。题目的标签要求是:数组,双指针。但是我的想法就是,

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(2/3) 果然之前留校一个人住宿感觉非常舒服,现在集中住宿导致我和室友的作息时间不太一样。惹不起惹不起,还是溜回家了。今天这篇blog是我在家里面写的,不得不感慨家里的机械键盘真好用,看显示器是真滴舒服。(啊哈哈哈哈哈哈) 二、题目描述三、解题思路 u1s1,这个题目我是真的没想出来,只有卑微地看了看网上的解题思路,才恍然大悟到:“原来Python也还是会有栈这种做法”。 其实我一开始主要是解决不了括号里面的逻辑问题,就是:“{()}”和“{)}(”这种的逻辑问题,我们都知道第一个是对的,而第二个是错的,但是我应该怎么用计算机的逻辑将这个判断出来呢?(莫法,确实Python没想到会使用到栈。但是现在这种方法我学会了!

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(1/3) 本周就结束了本学期的所有考试了,但还是有一堆作业(头疼)。现在进入了暑假,正是考研复习的“黄金期”。所以决定从这一周开始,到暑假结束,每周的算法题目降到3道/周(tcl,才坚持了一个4道/周的算法题目,我是懒(fei)狗(wu))。 二、题目描述三、解题思路 1、我的解题思路 u1s1,这道题确实把我难道了,题目里面给的范例是列表型的,但是又要把列表里面的每个单词拿出来,

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(4/4) 这周周末要考试,可能会停更blog一段时间。这次的题目非常有意思。 二、题目描述(u1s1,这道题的思路非常有意思) 三、题目分析 1、我的分析 在题目里面已经详细的描述了罗马数字在转换成数字的时候规则,即:最低位遇到4,9有特殊规则。因此我们可以使用Python3的字典,来对第i位和i+1位进行比较,如果第i位的数字小于第i+1位的数字,那么就是特殊规则(例:IV,IX)等,所以借此,

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前记(3/4) 呃啊......若不是作业太多我应该还可以再更新一下咕咕了好久的爬虫blog。最近事情好多,复盘省赛,写实验报告,考试复习,还要复习考研(修正带也用完了),基本都没有什么时间去放空自己了。 二、算法题目 这次做了一个比较经典的回文数题目 三、题目分析 1、我的分析 这道题和我第二道算法有点类似,直接就是将字符串倒序,然后看和原数字是否相等。如果和原数字相等就为回文数。在本题里面题目还加了一个条件(让题目变得简单了),如果是负数直接判定为False。 (Python3) ①转化成字符串 def

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前言(2/4) 最近是些事情太忙了,还是抽空写了一下算法题。这是本周的第二道算法题,也是算法系列里面的第二道题,希望自己可以加油坚持。 二、算法题目(这个题感觉不太难) 三、题目分析 1、我的分析 给了一个限定的条件32为有符号整数,也就是在整体上面进行旋转,无小数,但是有负数。Python3里面类型转换的优势可以立马体现出来。 #encoding:utf-8 class Solution: def reverse(self,x): if

  • aaaaa
算法大挑战
算法大挑战

算法大挑战

一、前言(1/4) 学习一下算法知识,感觉对以后都会有好处。目前定的任务是每周能做4道算法题,每次前言的位置都会打出(1/4)这样的样式,来督促自己学习。算法网站是leetcode,因为有很多人推荐。主要使用的语言是Python3。 二、算法题目 (u1s1,其实这个算法题把我稍微难到了一下) 三、分析 1、我的分析 这个算法因为给了一个实例,给了两个部分目标值(target)和一个数组值。我想的是我可以使用列表记录数组值的位置。以及target-num[i]

  • aaaaa
爬虫初学者的笔记(一)

爬虫初学者的笔记(一)

一、前记 疫情期间就已经想学习爬虫了,主要是考研外加在家躺躺(其实是太懒了)导致爬虫学习一直滞后。本学期我们开设了大数据的课程(终于来了一门良心课程),乘此机会,写一下爬虫的笔记。 二、前期准备 本次的爬虫的语言环境皆来自Python3.7,主要需要的依赖库有:BeautifulSoup,requests,re等(后面再有涉及到的库会再次说明)。操作系统为Win10,编译器是Pycharm专业版(其实是学生邮箱白嫖的) 三、一些爬虫以外的知识 因为爬虫的主要目的是为了能够获取到我们想要的网页信息,而网页主要是由HTML语言+CSS语言构建而成(有时候又会有JavaScript语言,但是不多),有时候我们会利用到这些语言里面的标签。

  • aaaaa
脱不来壳之Frida的使用(附2020年网鼎杯一道reverse题)

脱不来壳之Frida的使用(附2020年网鼎杯一道reverse题)

一、前记 使用Frida完全是因为2020年网鼎杯的时候一些道非常有意思的安卓逆向题(其实就是经过简单加密的题)。但是安装Frida的过程和做题过程我觉得还是应该记录一下。 二、frida 1、简介Frida是一个动态代码插桩框架,这里的介绍主要以应用在Android平台应用程序上。动态二进制插桩(DBI)是将外部代码注入到现有的正在运行的二进制文件中,从而让它执行额外的操作操作。DBI可以: ①访问进程内存 ②在应用程序运行时覆盖函数 ③从导入的类调用函数 ④在堆上查找对象实例并使用 ⑥Hook、跟踪和拦截函数等 2,安装过程Ⅰ、实验环境 Windows 10 python 3.7.3

  • aaaaa
tshark的作用和使用方式(附带例题)

tshark的作用和使用方式(附带例题)

一、前记 最近发现wireshark里面的tshark在提取数据方面比wireshark本身要好用很多。于是想着记录一下tshark的使用方法以及使用过程 二、tshark的使用方法其实在tshark -h命令下可以完整的看到tshark的整个用处。 TShark (Wireshark) 3.2.2 (v3.2.2-0-ga3efece3d640) Dump and analyze network traffic. See https://www.wireshark.org for more information. Usage: tshark

  • aaaaa