自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap

过程

2021-03-28 15:31:52 62

原创 并发修改异常

边next迭代,边add添加。改结构了(基于modCount修改次数判断出的,CAS是比真值)。解决: 用iter迭代器rm,不用coll的。或者用copyonwriteArrayLIst

2021-03-28 13:49:50 96

原创 7.6二叉树的序列化

/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class TreeToString {public: string get_string(int x) { string s; w

2020-10-16 12:47:33 77

原创 1.1二叉树打印

#include <cstdlib>#include <vector>#include <typeinfo>using namespace std;struct Node { int val; struct Node* left; struct Node* right; Node(int x): val(x), left(NULL), right(NULL) {}};int main2() { Node* q[550]; int head,

2020-10-16 11:50:01 101

原创 leetcode python2的函数调用一定所有函数都要前面加self.f

class Solution(object):def back(self,left_trees, right_trees): # 建完树后向上搜索 # 并列的min 不影响时间复杂度的优化# 先准备数据 minminL = min(len(left_trees), len(right_trees)) # 并列不影响时间复杂度?【先不考虑时间复杂度】for i in range(minL):...

2019-11-21 22:00:51 725

原创 14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。1.暴力 提出单个竖向匹配难点在:1.【最关键】要...

2019-11-20 17:47:19 91

原创 11. 盛最多水的容器

给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部...

2019-11-19 22:10:10 63

原创 5. 散列表

1 电话簿 ———— 涉及各种散列表的基本核心操作 【重要】"""收获:1 print内部前面无括号 print('%s 的 电话号 是 %s' % (name, phone))4 input进来的都是str 比对时 要数字就int() 或者 用=='单引号'2 phoneBook = dict()创建散列表 可不是dict = {} 【list = []是正确的...

2019-09-08 16:35:13 83

原创 4. 快速排序

1 算法图解 时间复杂度同老式快排,因为老式快排一轮也是要扫所有元素【这个代码 优点:极易理解 [自猜]缺点:扫完小于基准的,扫大于的时候要重复扫小于的,会浪费时间?】def quick_sort(list): '''基线条件''' if len(list) <= 1: return list # 基线 只执行一侧的quick_sort(small) ,...

2019-09-08 14:28:26 73

原创 3. 递归

'''递归: 下面的代码都是每次先扒拉出去第一个元素 之后就不用管第一个了 无限去分解 除去1第一个的右半部分'''def sum(list): if list == []: return 0 return list[0] + sum(list[1:])'''计算列表中的元素总个数'''def right_count(list)...

2019-09-08 13:51:00 114

原创 2. 选择排序

2 [自a]def select_sort(alist): n = len(alist) for i in range(n-1): max_pos = i # 重要:因为下面的max_pos在if里,可能执行不到,导致后面下标max_pos没有创建 for j in range(i+1, n): if alist[j] ...

2019-09-07 14:34:40 88

原创 1. 二分查找

12 自a的,不够简略def binary_search(alist, target): '''''' ''' 二分查找: 每次都取中间下标的值和目标值比较 小了右移low 大了左移high ''' if alist == []: # 空列表要用[],用None识别不了 r...

2019-09-07 11:41:20 121

原创 9.回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121 输出: true 示例 2:输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例3:输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。1[自a] ...

2019-08-28 10:46:22 69

原创 8.字符串转换整数 (atoi)

示例 1:输入: “42” 输出: 42 示例 2:输入: " -42" 输出: -42 解释: 第一个非空白字符为 ‘-’, 它是一个负号。我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。 示例 3:输入: “4193 with words” 输出: 4193 解释: 转换截止于数字 ‘3’ ,因为它的下一个字符不为数字。 示例 4:输入: “words a...

2019-08-27 09:46:27 80

原创 7. 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 −1]。请根据这个假设,如果反转后整数溢出那么就返回 0。1 [自5...

2019-08-15 12:12:39 97

原创 小技巧

1while i<n-2{while and i<n-2 while and i<n-2}3个一样的while 1嵌套{2}可以实现 goto one 回退功能

2019-08-09 02:58:33 87

原创 6. Z 字形变换

将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I R E T O E S I I G E D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。领悟方法论:1 先画出 空串,A,AB,...

2019-08-09 02:55:59 185

原创 方法论

《 写 5-2 中心扩散时 领悟的 方法论 》:1 自己用 debug + 特例 [ 先草纸写值比较 要不必乱 ]2 出错只关注出错的那部分 只要答题思路对,你就sb一样的只改那一小块即可     若改蒙蔽了 就新建自己最想要的新标记值调出来     ‘’‘eg. 比较maxR时候老卡壳r就不用r了,直接用自己最想用的LocalLen简单有清晰!’’’、d...

2019-08-05 09:54:16 90

原创 5. 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd” 输出: “bb”1 [自a] 暴力枚举 ——超时—— 87/103样例自法1:用list[n] :时间n^2 空间n自法2:在循环内 边循环边处理记录最大: 时间n...

2019-08-04 22:02:14 109

原创 4. 寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3] nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2] nums2 = [3, 4]则中位数是 (2 +...

2019-07-31 04:50:08 78

原创 3. 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”...

2019-07-29 18:16:33 96

原创 2. 两数相加

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 8071 单个while { 加和 记录carry进位 造链表 } ———— 好class ListNode(object): def __init__(self, x): self.val = x ...

2019-07-27 23:53:25 131

原创 1. 两数之和

给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]1 暴力 —— n^2class Solution(object): def twoSum(self, nums, target): n = len(nums) for i in range(n...

2019-07-26 20:15:09 67

空空如也

空空如也

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

TA关注的人

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