- 博客(14)
- 收藏
- 关注
原创 Go语言的错误处理
参考:李文周的博客Go语言中目前(Go1.12)是没有异常机制,但是使用panic/recover模式来处理错误。panic可以在任何地方引发,但recover只有在defer调用的函数中有效。func a(){ println("func a")}func b(){ panic("panic in b")//使用panic引发错误,发生错误后,崩溃然后异常退出}func c(){ println("func c")}func main(){ a() b() c()}
2021-10-11 16:26:29
212
1
原创 Go 函数的骚操作
参考: 李文周的博客 定义函数类型我们可以使用type关键字来定义一个函数类型,具体格式如下type calculation func(int, int) int类似于int、float、string。就好像新定义了一个关键字例子:func add(a,b int) int{ return a+b}func sub(a,b int) int{ return a-b}func main(){ type calculation func(int,int) int var
2021-10-11 15:49:34
236
原创 分数到小数
给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 。如果小数部分为循环小数,则将循环的部分括在括号内。 如果存在多个答案,只需返回 任意一个 。 对于所有给定的输入,保证 答案字符串的长度小于104示例 1:输入:numerator = 1, denominator = 2输出:“0.5”示例 2:输入:numerator = 2, denominator = 1输出:“2”示例 3:输入:numerator = 2, de.
2021-10-04 20:31:36
296
原创 图像增强(1)
定义: 图像增强是对图像进行加工,以得到对视觉解释来说 视觉效果“更好”、或 “更有用”的图像目的:(1)改善图像的视觉效果,提高图像的清晰度;(2)将图像转换成一种更适合于人或机器分析处理的形式。空域法: 直接对图像的像素灰度值进行操作。包括图像的灰度变换、直方图修正、图像空域平滑和锐化处理、彩色图像增强等。对比度增强:采用图像灰度值变换的方法,以改变图像灰度的动态 采用图像灰度值变换的方法,以改变图像灰度的动态范围,增强图像的对比度。范围,增强图像的对比度。 设原图像为 设原图.
2021-10-03 14:14:53
353
原创 搜索旋转排序数组
整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为[4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums 和一个整数 ta.
2021-09-12 14:52:35
101
原创 Go 各种初始化
变量var num intvar (//批量声明 num int name string isman bool)var num int = 10var num = 10//类型推导var a,b = 12,"abc"//一次性初始化多个变量常量常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。const name = "tjs"const ( pi = 3.1415926 num = 10)const( a1 = 100 a2
2021-09-09 16:01:58
1222
原创 赋值、浅拷贝、深拷贝
python 中可变对象: 列表、字典、集合不可变对象:数字、字符串、元组Python 中引用的概念:在 Python 程序中,每个对象都会在内存中申请开辟一块空间来保存该对象,该对象在内存中所在位置的地址被称为引用。在开发程序时,所定义的变量名实际就对象的地址引用。引用实际就是内存中的一个数字地址编号,在使用对象时,只要知道这个对象的地址,就可以操作这个对象,但是因为这个数字地址不方便在开发时使用和记忆,所以使用变量名的形式来代替对象的数字地址。在 Python 中,变量就是地址的一种表示形式
2021-08-07 18:56:30
493
原创 多源最短路径
01矩阵给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。两个相邻元素间的距离为 1最短路径 采用广度优先搜索BFS。如果采用遍历每一个 1,然后进行广度优先搜索,时间复杂度过大。这不是单源最短路问题。因此采用从所有0开始搜索,像广播一样。多源广度优先搜索 可以添加 超级源点转化为我们平时熟悉的单源 广度优先搜索。从超级源点出发同时到达矩阵中所有的0从所有的0开始向上下左右四个邻居扩展。其实多源广度优
2021-08-03 10:41:48
533
原创 二叉树遍历——迭代法
二叉树的前序遍历:根左右思路:栈S;p= root;while(p || S不空){ while(p){ 访问p; p入S; p = p的左子树; } p = S.top 出栈; p = p的右子树;}======================================================二叉树的中序遍历:左根右思路:栈S;p= root;while(p || S不空){ whi
2021-06-13 15:35:22
217
原创 反转数字——两种实现
一、在Python中转换成字符串再反转。str(x)[::-1]二、假设反转1234初值 num=0。1234%10 = 4,1234/10 = 123num+= 4 ×1000=4000123%10 = 3 ,123/10 = 12num+=3×100 = 430012%10 = 2 12/10 = 1num+=2×10 = 43201%10 = 1 1/10 = 0num+=1×1 = 4321结束x_fz = 0i = len(str(x))-1while x
2021-06-06 16:11:04
252
转载 相交链表——双指针
题目描述:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构解题思路:这道题目让求两个链表相交的节点, 利用双指针法O(m+n) 就可以遍历完成这道题目的思想是让 a, b 指针都走一遍 headA, headB 两个链表, a, b 相遇的地方就是两个链表相交的地方.a 指向 hea
2021-06-04 15:04:10
232
原创 Python 单链表
之前实现链表都是用 c语言实现的,遇到Python实现链表就懵逼了。。。。学会实现单链表之前,首先要学会Python 的类与对象。链表就是用Python 的类和对象实现的。所谓的指针就是地址值,而Python创建一个对象,再打印这个对象也是地址值。class student(object): passtian = student()print(tian)#<__main__.student object at 0x0000027B8790FFD0>首先要构建结点(这不相当于
2021-06-04 14:56:18
269
原创 连续子数组的和
题目描述:给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数示例 1:输入:nums = [23,2,4,6,7], k = 6输出:true解释:[2,4] 是一个大小为 2 的子数组,并且和为 6 。示例 2:输入:nu
2021-06-03 14:38:50
310
原创 判断一个数是否是2的幂
若n = 2^x ,则首先n > 0其次一定满足 n & (n-1) = 0&为 “与” 运算符,与真值表如下:ABY000010100111举例:判断6是否为2的幂: 6的二进制为0b110 5的二进制为0b101 0b110 & 0b101 = 0b100 = 4判断16: 16 = 0b1000 , 15 = 0b0111 , 0b1000 & 0b0111 = 0b0000 = 0Py
2021-06-03 14:03:29
140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人