自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ios环境搭建

cocoapods安装流程升级ruby环境sudo gem update --system更换ruby镜像首先移除现有的Ruby镜像终端输入:$ gem sources --remove https://gems.ruby-china.org/然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了)终端输入:$ gem sources -a https://gems.ruby-china.com/执行完毕之后输入gem sources -l来查看当前镜像

2022-06-24 11:28:14 212

原创 IOS基础之界面间传值

在学习过程记录IOS的界面传值

2022-06-22 17:04:55 224 1

原创 寒假算法练习第一天

2 两数相加这道题主要是链表的使用。注意进位问题。加法类似于大数加法。思路就是开辟一个头结点,将对应位相加,对10取余。然后有一个非零的就加进来,直到两个链表都没有下一个结点了。4寻找两个正序数组的中位数没有按照官方要求的复杂度。。。就是单词的合并+排序+输出中位数。因为自己也没想出来那个log(m+n)的做法,看了官方的教程想了半天,居然被卡在变量定义上了,定义了一堆然后乱死了。。。。太傻了。。。5 最长回文子串这道题是十个月前做的。现在拿起来看,一眼就能看出来是动规,但是没看出来转移方程。。。

2021-01-11 11:18:58 145

原创 新生浅谈(一)对编程的认识

刚离开高中,步入大学,很多同学都开始接触电脑,有一部分人也想去编程。但是对于一个陌生的名词,很多人可能没有太多概念。今天就来简单说一下编程那点事。如同修车要用钳子扳手,修电器要用螺丝刀电焊,编程就是我们解决问题的一个工具。他可以解决很多事情,当然也解决不了很多事情。每一类问题有更擅长的算法去解决,每一个领域有更适合的语言去解决,如同根据螺丝挑螺丝刀一样。任何人都可以学编程,只要你的逻辑清晰,就几乎没有解决不了的问题。那学习编程需要什么呢?首先你要先选择一门最最开始的入门语言,目前的主流编程语言都可以,比

2020-10-06 20:21:32 1112

原创 力扣529题反思

扫雷问题自己先做出来了流程图,根据流程图写出来了大部分的结构,但是总是有问题,有一个计数变量cnt要么未定义,要么就是引用前赋值局部变量的问题。查阅了好多无法解决。无奈之下只能换思路dfs优秀解法class Solution: def updateBoard(self, board: List[List[str]], click: List[int]) -> List[List[str]]: direction = ((1, 0), (-1, 0), (0

2020-09-03 16:21:42 89

原创 力扣971题反思 (图的深度优先搜索)

题目:给定一个有 N 个节点的二叉树,每个节点都有一个不同于其他节点且处于 {1, …, N} 中的值。通过交换节点的左子节点和右子节点,可以翻转该二叉树中的节点。考虑从根节点开始的先序遍历报告的 N 值序列。将这一 N 值序列称为树的行程。(回想一下,节点的先序遍历意味着我们报告当前节点的值,然后先序遍历左子节点,再先序遍历右子节点。)我们的目标是翻转最少的树中节点,以便树的行程与给定的行程 voyage 相匹配。如果可以,则返回翻转的所有节点的值的列表。你可以按任何顺序返回答案。如果不能,

2020-09-03 10:45:44 72

原创 2020-08-18

数字识别本教程源代码目录在book/recognize_digits,初次使用请您参考Book文档使用说明。背景介绍当我们学习编程的时候,编写的第一个程序一般是实现打印"Hello World"。而机器学习(或深度学习)的入门教程,一般都是 MNIST 数据库上的手写识别问题。原因是手写识别属于典型的图像分类问题,比较简单,同时MNIST数据集也很完备。MNIST数据集作为一个简单的计算机视觉数据集,包含一系列如图1所示的手写数字图片和对应的标签。图片是28x28的像素矩阵,标签则对应着0~9的10个

2020-08-18 19:52:18 112

原创 电工电子技术基础----multisim7使用及实验过程

实验一,测量三极管的共射极电路下的放大特性,包括了:静态工作点的测量实际上能把这个做好了,实验一基本上就差不多了。这里用的是Windows10环境,据说mac不可用(老师的用不了),软件安装,在解压后先配置文件(运行.bat文件),之后双击multisim.exe就可打开,有一个注册表的报错,但是亲测不影响实验的使用和测量结果,关闭就可以了。下面来实验正文。养成一个好习惯就是,进软件先保存一个文件(点保存,保存到任意路径, 起名),免得电脑突然蓝屏死机然后白干(ctrl s要常按)。常用的ctrl

2020-05-23 22:22:41 1457

原创 树莓派学习第一天:读懂rgb小灯

拿到树莓派,今天算是第一次读完一个树莓派的朋友python程序。官方的讲解实在。。。无语。另附一个,输入法的切换是ctrl+space先附一个完整代码,可以直接执行。在代码里几乎每行都有注释了import RPi.GPIO as GPIOimport time#colors = [0xFF0000, 0x00FF00, 0x0000FF, 0xFFFF00, 0xFF00FF, 0x0...

2020-05-03 19:15:42 455

原创 基础算法(Leetcode)刻意练习最后一天——通配符匹配

LeetCode44题用了回溯法,记录最后一个出现的位置,并第一次假设他是空字符串,以后如果出现了不匹配的问题,则回溯过去,并认为他多包涵了一个字符串,以此类推。如果结尾全部为,则为正确,否则则看前面的匹配情况。另附加了一部分特殊情况的处理class Solution: def isMatch(self, s: str, p: str) -> bool: ls,l...

2020-03-30 23:32:14 104

原创 基础算法(Leetcode)刻意练习第二十九天——加油站

LeetCode第134题,用来逗女朋友的一个题哈哈哈哈…好吧其实一开始自己也没有太大思路,后来看了一些分析,选用的将两个数组合为一个数组看的想法。我没有先用sum判断,因为觉得判断成功的话,也需要O(n)量级的复杂度,不值得。我使用了一次遍历,每次记录油箱里的剩余量和总共的差(获得减消耗),如果油箱剩余小于0,说明不可到达,则将起点设置为当前值。若最后总的差小于0,则说明不可能完成,返回-1。...

2020-03-28 20:47:56 105

原创 基础算法(Leetcode)刻意练习第二十八天——跳跃游戏

LeetCode55题思路:利用贪心原理:记录当前结点所能到达的最远(i+s[i]),然后和最远的比较,哪一个更远,记录下来。如果最远距离到不了当前距离(mx<i),则返回否。注意:初始如果只有一个,则认为已经到达。class Solution: def canJump(self, nums: List[int]) -> bool: mx=0 ...

2020-03-28 20:41:47 151

原创 基础算法(Leetcode)刻意练习第二十七天——分发饼干

LeetCode455题思路:先将饼干和胃口排序,然后依次取出胃口,从最小的饼干开始判断是否满足,若满足,则换下一个胃口,若不满足,扔掉这个饼干,往下进行。直到饼干或者胃口都用完。class Solution: def findContentChildren(self, g: List[int], s: List[int]) -> int: g.sort() ...

2020-03-27 18:09:47 86

原创 基础算法(Leetcode)刻意练习第二十六天——

LeetCode392题当时是学动态规划的时候写的,后来学了贪心算法,知道了贪心也是动规的一种。。。不多说,这个整体思路是,在p序列里从一开始往后找s中对应的元素,若有,则记录位置,并在该位置后找,若没有,则退出。class Solution: def isSubsequence(self, s: str, t: str) -> bool: loc = -1 ...

2020-03-26 19:28:48 147

原创 基础算法(Leetcode)刻意练习第二十五天——买股票的最佳时机二

LeetCode122题思路:贪心算法嘛,就是只要今天比昨天高,我就当昨天买今天卖,反之不用管。基本上算一遍过,处理了一个空集问题。class Solution: def maxProfit(self, prices: List[int]) -> int: res=0 if len(prices)==0:return 0 pre=p...

2020-03-25 19:59:41 91

原创 基础算法(Leetcode)刻意练习第二十四天——恢复二叉搜索树

LeetCode99题思路:比较笨。。。自己做的,只想出来了一种,将所有数据提取,排序,然后中序遍历重新赋值。。时间空间都不咋地的算法。。后来看网友的做了一点改进,中序遍历,正常情况都是递增的,如果反常则记录该情况。# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x...

2020-03-24 23:10:09 124

原创 基础算法(Leetcode)刻意练习第二十三天——不同的二叉搜索树

LeetCode95题首先明确一点,题目中返回的是一个列表,列表的每一个元素都是根节点的地址值。。一开始有点懵,以为是弄一个二维列表就可以了,还纳闷为啥要用树。。。步入正题,整个问题可以从0到n,n个数字为根节点,每一次i作为根节点,都有左子树和右子树,左子树有从0到i-1分别作为根节点,每一个根节点j又有左子树和右子树。。。大家已经大概看到了,这是一个递归方法。在递归过程,我们每次吧树的左...

2020-03-23 21:31:59 91

原创 基础算法(Leetcode)刻意练习第二十二天——二叉树的迭代中序遍历

LeetCode94题思路:虽然是迭代实现,但是栈的使用还是不可避免的。用一个栈保存根节点,然后指针去遍历左子树,再依次把根节点保存。当左子树没有了,就出栈栈顶元素,然后指针指向右子树的根。代码如下:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# sel...

2020-03-22 22:42:57 72

原创 基础算法(Leetcode)刻意练习第二十一天——有效的括号

LeetCode20题用了一个很巧妙而又奇怪而又不实用的方法(有想到这个规律,就是如果成功,成对的括号会在中心相遇。最后实现确实参考的评论区大神)class Solution: def isValid(self, s: str) -> bool: while '{}' in s or '()' in s or '[]' in s: s = ...

2020-03-21 22:46:27 87

原创 基础算法(Leetcode)刻意练习第二十天——对称二叉树

LeetCode101题思路也不难,递归,每次比较当前左节点的左孩子和右节点的右孩子,和比较左节点的右孩子和右节点的左孩子。边界情况处理。# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = ...

2020-03-20 23:38:06 95

原创 基础算法(Leetcode)刻意练习第十九天——相同的树

LeetCode104题,前序遍历几乎一遍过,直接贴代码吧# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass S...

2020-03-19 20:20:34 84

原创 基础算法(Leetcode)刻意练习第十八天——正则表达式

LeetCode第10题思路。。奈何本人算法水平不够,暴力自己写了半天,死在了*号处理不好,结尾也收不好,动规看了半天一知半解,还是现成的正则表达式好用,方便记忆。以后有机会再回来拿动规解吧。。。...

2020-03-18 23:10:28 65

原创 基础算法(Leetcode)刻意练习第十七天——最长回文子串

LeetCode5题思路:没有用特别高端的马拉车算法,用的是过年的时候学的动规算法。自己写的还是容易存在问题,此处算法有借鉴网友的算法。如果长度大于等于1,且正的和倒着相等([::-1]),则为一个回文串,将起始位置和最大长度都更改。代码如下:class Solution: def longestPalindrome(self,s): str_length = len...

2020-03-17 23:01:59 67

原创 基础算法(Leetcode)刻意练习第十六天——无重复字符的最长子串

LeetCode第3题思路:动态规划,记录以当前字符为结尾的最长无重复的子序列。因为无重复,所以每次只需要在该长度里寻找有无重复即可class Solution: def lengthOfLongestSubstring(self, s: str) -> int: if len(s)<2: return len(s) ...

2020-03-15 21:00:54 79

原创 基础算法(Leetcode)刻意练习第十五天——有效的括号

LeetCode第20题思路:使用字典加栈,每次来一个括号,如果是左括号,则进栈,如果是右括号,则将对应的左括号进栈。如果没有左括号(或不对应)则返回falseclass Solution: def isValid(self, s: str) -> bool: dic={')':'(','}':'{',']':'['} l=[] f...

2020-03-15 20:10:29 88

原创 基础算法(Leetcode)刻意练习第十四天——最长前缀子串

LeetCode第14题吐槽一个,今天蓝桥杯校赛,深深感觉自己的菜。。。思路:暴力思路:每两个两个去比较,从第一个开始比到最后一个,无疑复杂度很高看网友的学习了一个,拿过来用的同时也记录一下这两个函数。先上代码块:class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: s =...

2020-03-14 21:52:01 150

原创 基础算法(Leetcode)刻意练习第十三天——罗马数字转整数

LeetCode13题,不会罗马数字的连编程都不行哈哈思路:正常情况下是左减右加,但是右加的情况最少,且只能左减一次,故我们判断该位是否大于右边一位。由于每一次都和右边一位比较了,所以在循环是将循环的范围向前提一个,在循环最末尾不用判断直接加一个。(也是我第一次使用字典哈哈)代码:class Solution: def romanToInt(self, s: str) -> i...

2020-03-13 22:37:40 94

原创 基础算法(Leetcode)刻意练习第十二天——合并k个排序数组

LeetCode23题思路1:将所有数字放进一个数组,排序后再取出整合成链表,据说效果不错,但是并没有实践(作业呜呜呜)思路2:学习的网友的分治法:每次将两个数组排序,不断循环得到最终结果class Solution(object): def mergeKLists(self, lists): """ :type lists: List[ListNod...

2020-03-12 22:29:59 321

原创 基础算法(Leetcode)刻意练习第十一天——删除链表的倒数第n个元素

LeetCode第19题思路:让一个快指针先走n步,再让一个快一个慢指针一起走,当快指针走到末尾时,慢指针恰好走到该删除的结点的前面一个结点。此时删除第n个结点即可。注意:快指针停下来的标志不是p,而是p.next代码如下,时间复杂度O(n)# Definition for singly-linked list.# class ListNode:# def __init__(se...

2020-03-11 21:02:34 93

原创 基础算法(Leetcode)刻意练习第十天——两数相加

LeetCode第2题思路:每一位对应相加,记录是否进位,直道一个链表为空(无高位`)代码如下:# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution...

2020-03-10 22:42:04 68

原创 基础算法(Leetcode)刻意练习第九天——环形链表

Leecode第141题判断链表是否有环思路1:破坏链表:把链表内数值域赋一个足够特殊的值,然后当出现这个值证明有环,不出现则无环代码如下(冒号中间的值就是为了足够特殊。。)class Solution(object): def hasCycle(self, head): """ :type head: ListNode :rtype...

2020-03-09 22:09:02 154

原创 基础算法(Leetcode)刻意练习第八天——删除链表重复元素

Leecode第83题,纯手写一遍过,也是课堂教过的算法思路:循环处理,出循环条件是c.next==None(没有下一个,自然不会重复了),其他时候自己与下一位判断,若重复则将指针跳过去,若不重复则将指针往下移一位。`# Definition for singly-linked list.class ListNode(object):def init(self, x):self.val =...

2020-03-08 17:39:57 136

原创 基础算法(Leetcode)刻意练习第七天——合并两个有序链表

leecode第21题思路:(其实是一个老师讲过的比较典型的题目)首先注意,链表要有头指针,所以一开始一定要注意保留一个头指针,一般记做head,这里通过程序分析到原链表没有头结点。有了头指针,还要记录尾端,故需要一个额外的指针指向尾端。初始时头尾相等,循环依次判断,结束条件就是一个先被遍历完,之后再把另一个接上就行了。代码:...

2020-03-07 17:37:41 132

原创 基础算法(Leetcode)刻意练习第六天——买卖股票的最佳时机

Leecode123:思路:借鉴Leecode某大神一个思路六个问题通吃主要还是运用动态规划算法,动态规划,体现在,记录前i-1天的各个情况的最大利润,最后的时候由于是买卖两次,故结果为dp_i_2,0表示当前不持有股票,1表示当前持有股票。当前不持有股票,有两种情况,一种是前一天就不持有,一种是前一天持有,今天卖了(+price)。当前持有股票,也有两种情况,一种是前一天就持有,一种是前一天...

2020-03-05 21:40:06 109

原创 基础算法(Leetcode)刻意练习第五天——最接近的三数之和

Leecode第16题思路:用一个res记录当前最接近的和,在每一次循环的时候,做一个优化:当前值为nums【i】的时候,最大的数是nums【i】+nums【right】+nums【right-1】,如果最大的数都小于,则直接比较并退出;若最小数(nums【i】+nums【left】+nums【left+1】)都大于目标值,则直接比较并退出。其他部分和双指针求三数和一样啦。class Solu...

2020-03-05 18:34:47 100

原创 基础算法(Leetcode)刻意练习第四天——最接近的三数之和

思路:首先想到的也是双指针,但是第一次处理可能细节不太好,总是超时,后来用了另一种思路,将两个指针分开,然后去求,若大于则右指针左移,小于则相反。其中再做特殊化处理,比如去重,仅当符合条件后,将符合条件的重复的数移除。从运行来看这是一个非常笨重的办法。。。在这里插入代码片import numpy as npclass Solution:def threeSum(self, nums: Lis...

2020-03-03 22:10:15 101

原创 基础算法(Leetcode)刻意练习第三天——移除元素

如果说上次是移除多余元素是移除特定索引值的元素,那这次就轮到我们的remove函数了:移除指定值代码简单粗暴,用时简短好用class Solution: def removeElement(self, nums: List[int], val: int) -> int: while val in nums: nums.remove(val)...

2020-03-02 21:01:50 93

原创 基础算法(Leetcode)刻意练习第二天——删除排序数组中的重复元素

思路一:题干中说是排序数组,即只需要向前或者向后比较,如果相同,则删除一个元素。如果使用向后比较就无须特殊处理了(为了处理末端问题,给末尾加了一个标记位)class Solution:def removeDuplicates(self, nums: List[int]) -> int:if len(nums)<2:return len(nums)nums.append(’#’)...

2020-03-01 22:57:07 314

原创 基础算法(Leetcode)刻意练习第一天——两数之和

思路:从第一个数据开始,用库函数在剩余数组中找所求的数(target-nums【i】),如果找到则返回,没有找到就继续。显然这是一个运行比较慢的办法。。python代码如下:class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:i=0for i in range(len(nums)):...

2020-03-01 18:56:13 115

原创 大二小白进击深度学习(一)

作为第一篇在csdn上编写的文章,居然不是我比较爱好的单片机,而是最近时代的一个热潮--深度学习。作为一个大二小白,初次来到深度学习的门前,稍稍做一些记录吧。 首先是,我们究竟在学什么。这个问题是我提的,不是我解答的。在大致学习(或者说叫了解吧)了三章内容以后,我产生了这样的疑惑--模型都是现成的,很多函数也都很简单,训练的方法都是别人做...

2020-02-14 18:47:48 229

空空如也

空空如也

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

TA关注的人

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