自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数组元素交叉排列

https://blog.csdn.net/caopengcs/article/details/10196035https://blog.csdn.net/yuan8080/article/details/5705559

2018-09-28 11:36:31 832

原创 最长回文串(可不连续)、构成回文串需添加的最少字符

寻找回文串可以正序和倒序找非连续的公共子串,动归算法,最长公共子串为a则构成回文串需添加的最少字符为len(str)- ahttps://blog.csdn.net/carson0408/article/details/77776398有空补代码...

2018-09-25 21:56:57 374

原创 【剑指offer】和为S的连续正数序列

以为是n-sum题,输出所有的组合的可能,但是不是的,更简单一些,因为限制条件是必须连续的数两种方法第一种,利用数学知识归纳,数列长度为n,分成n为奇数和n为偶数两种情况import java.util.ArrayList;public class Solution { public ArrayList<ArrayList<Integer> > Fi...

2018-09-25 10:34:50 131

原创 【剑指offer】数组中只出现一次的数字

remove:删除特定元素第一次出现的时候,返回的是删除后的数组del:删除指定索引的元素 del a[2],返回的是删除后的数组pop:删除指定索引的元素,返回的是删除的元素有一个问题就是我不知道判断not in list 的时候O(n)的复杂度会不会影响运行时间:36ms占用内存:5624k# -*- coding:utf-8 -*-class Solution:...

2018-09-24 16:13:31 123

原创 【剑指offer】判断二叉树是否为平衡二叉树

平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。第一种递归思路,根据定义来,递归返回(r-l)<1 and balancetree(r) and balancetree(l)但是这个自顶向下的递归下层结点会进行多次访问,相当于访问次数为1+2+。。。+n,时间复杂度为O(...

2018-09-24 15:43:31 139

原创 【剑指offer】二叉树的深度

层次遍历运行时间:28ms占用内存:5752k# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: de...

2018-09-24 15:15:48 148

原创 【剑指offer】数字在排序数组中出现的次数

想的是先二分查找,找到之后再找周围是否有相同运行时间:27ms占用内存:5752k# -*- coding:utf-8 -*-class Solution: def GetNumberOfK(self, data, k): # write code here if k not in data: return 0 ...

2018-09-24 15:00:25 105

原创 【剑指offer】两个链表的第一个公共结点

一个结点的next只有唯一确定的结点,所以若有公共结点,则第一个公共结点后的所有结点也必都为公共结点。先求出两个链表分别的长度,然后长的链表先走完长度差,然后再同时开始走,直到走到第一个相同结点。运行时间:36ms占用内存:5840k# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# ...

2018-09-24 14:40:40 80

原创 【剑指offer】数组中的逆序对

在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007使用归并排序,复杂度O(nlogn)若num[i]<num[j]就是顺序对;若num[i]>num[j]则是逆序对,而num[i~mid]区间所有值都会大于num[j],cnt+...

2018-09-24 14:08:43 98

原创 【剑指offer】第一个只出现一次的字符

运行时间:42ms占用内存:5856k用counter字典很简单# -*- coding:utf-8 -*-class Solution: def FirstNotRepeatingChar(self, s): # write code here from collections import Counter cs = Cou...

2018-09-24 11:55:32 87

原创 【剑指offer】丑数

我想的是判断丑数,超时;实际上可以自己去构造丑数超时的:# -*- coding:utf-8 -*-class Solution: def GetUglyNumber_Solution(self, index): # write code here def is_ugly(number): while (number%2==0)...

2018-09-24 11:48:42 84

原创 【剑指offer】把数组排成最小的数

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。其实就是数组排序,只不过不是看自己数字的大小,而是比较和其他数字组合的时候,是不是自己放在前面的时候更小,是的话自己就能对比于那个数字放在前面。>>> d = {'data1':3, 'data2'...

2018-09-24 11:14:28 149

原创 【剑指offer】从1到n中1出现的次数

设N = abcde ,其中abcde分别为十进制中各位上的数字。 如果要计算百位上1出现的次数,它要受到3方面的影响:百位上的数字,百位以下(低位)的数字,百位以上(高位)的数字。① 如果百位上数字为0,百位上可能出现1的次数由更高位决定。比如:12013,则可以知道百位出现1的情况可能是:100~199,1100~1199,2100~2199,,...,11100~11199,一共12...

2018-09-24 10:09:27 145

原创 矩阵旋转

# -*- coding:utf-8 -*-import sysimport copy# 逆时针旋转90# 空间复杂度O(n^2),矩阵行列数无约束def ni_convert(a): m = len(a[0]) b = [[j[m-1-i] for j in a] for i in range(m)] return b# 逆时针旋转90# 前提是矩阵为N*N方阵# 空...

2018-09-23 23:41:23 158

原创 Python小程序

#coding=utf-8import sys----------Python2中输入整数------------N = input() ---------Python2、3中输入字符-----------s = raw_input()------------字符串转整数list--------------A = list(map(int,s.strip().split(' ')...

2018-09-23 19:33:50 351

原创 区块链或后端方面面经

1.      线程栈:先是会自动扩展,到达最大值才会溢出,溢出之后程序会收到一个段错误(java表现为异常),调高堆栈容量可能会增加内存开销和启动时间2.      堆和栈的区别:(总结,栈的一切由系统管理,所以堆有各种碎片问题)•        管理方式:栈由编译器自动管理;堆由程序员控制,使用方便,但易产生内存泄露。•        生长方向:栈向低地址扩展(即”向下生长”),是...

2018-09-20 18:00:23 1536

原创 八皇后问题

递归写法: # -*- coding:utf-8 -*-import sysimport copyglobal cntcnt = 0def not_danger(i,j,chess): for ii in range(i): if chess[ii][j]==1: return 0 ii,jj = i,j while (ii-1>=0 and jj-1>...

2018-09-12 13:40:27 99

原创 排序算法

#coding=utf-8#具有稳定性的算法:冒泡排序、插入排序、基数排序、归并排序#堆排序、归并排序:平均、最好、最坏均为O(nlogn);选择排序:平均、最好、最坏均为O(n^2)#快排:平均、最好为O(nlogn),最坏为O(n^2)#冒泡、插入排序:最好O(n),最坏和平均为O(n^2)#希尔排序:最坏O(n^1.3),最好O(n^2)#基数排序:O(d(n+k)),其中d为...

2018-09-02 13:33:42 85

空空如也

空空如也

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

TA关注的人

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