初学python,调用固定参,不固定参函数遇到的问题(持续更新)

2019-07-02
阅读 7 分钟
3.1k
函数调用时的参数传递方式:(调用函数) 传递方式有以下四种: 位置传参 序列传参 关键字传参 字典关键字传参---------------------------------------------------yu---

锁和分布式锁

2018-11-18
阅读 5 分钟
4.2k
多线程环境中,经常遇到多个线程访问同一个 共享资源 ,这时候作为开发者必须考虑如何维护数据一致性,这就需要某种机制来保证只有满足某个条件(获取锁成功)的线程才能访问资源,而不满足条件(获取锁失败)的线程只能等待,在下一轮竞争中来获取锁才能访问资源。

经典动态规划--01背包问题

2018-09-07
阅读 3 分钟
4.3k
背包问题具体例子:假设现有容量10kg的背包,另外有3个物品,分别为a1,a2,a3。物品a1重量为3kg,价值为4;物品a2重量为4kg,价值为5;物品a3重量为5kg,价值为6。将哪些物品放入背包可使得背包中的总价值最大?

二叉搜索树转化为双向链表

2018-07-18
阅读 3 分钟
2.9k
首先需要明白二叉搜索树也是一种排序的数据结构,它的中序遍历就是一个不递减的顺序排列 所以如果要转换成一个排序好的双向链表,那么仅需要改变原来指向左子节点和右子节点的指针,让他们分别指向前节点和后节点即可,如图所示 调整指针 原先指向左子节点的指针调整为链表中指向前一个节点的指针 原先指向右子节点的指...

二进制中1的个数

2018-06-25
阅读 2 分钟
2.7k
题目:输入一个数(不管是几进制),输出这个数二进制表示中1的个数。比如输入 9 应该输出 2 ;输入0x1F(31) 应该输出 5 。(16进制表示是在前面加 0x )

斐波那契数列(求fibonacci的第N项的值)

2018-06-25
阅读 1 分钟
4.2k
以前用递归写过,今天看的时候书上说递归虽然简单,但其实内部做了很多重复的计算,而且尾递归都是可以用循环解决的。而用循环就可以避免重复的计算。

旋转数组的最小数字

2018-06-25
阅读 3 分钟
1.3k
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0.

二分法的简单实现-------递归和非递归

2018-06-25
阅读 2 分钟
3.5k
//注意: 1.需要把mid放入循环中,不能放在循环体外,因为每次都要把mid赋值给left或者right如果放在外面每次赋值的数都一样会死循环。// 2.写二分法时需要判断循环何时终止,如果每次都是left=mid,right=mid,会导致循环无法终止// ,所以此处用了left=mid+1 right=mid-1 。这样做还有一个好处:发现mid不是所要找的数...

经典排序算法——冒泡排序

2018-06-23
阅读 2 分钟
1.3k
思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。