会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
yawenw
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
20
下一页
2020年5月7日
May LeetCoding Challenge7 之 二叉树搜索
摘要: 针对求二叉树深度问题,一般有两种解法:BFS(广度优先搜索)和DFS(深度优先搜索)。 1.BFS:用队列存储每一层的结点。实现广度搜索。 2.DFS:用了递归思想。对于本题情况较多,较难理解。 JAVA /** * Definition for a binary tree node. * publ
阅读全文
posted @ 2020-05-07 18:12 yawenw
阅读(129)
评论(0)
推荐(0)
2020年5月6日
May LeetCoding Challenge6 之 投票算法
摘要: 语法: JAVA遍历map:for(Map.Entry<Integer, Integer> entry : map.entrySet()) Python max函数: max(counts.keys(), key=counts.get), 其中counts.keys()是对象,key后面是函数。 本
阅读全文
posted @ 2020-05-06 21:29 yawenw
阅读(260)
评论(0)
推荐(0)
2020年5月5日
May LeetCoding Challenge5 之 字符转ASCII码
摘要: Python知识点: ord() 字符转ASCII码,chr() ASCII码转字符。 count = collections.Counter(s) Counte可以理解为一个计数器,可以传入一个list或者string。返回一个({:})。其中.most common(2) 表示出现次数最高的前两
阅读全文
posted @ 2020-05-05 17:46 yawenw
阅读(125)
评论(0)
推荐(0)
2020年5月4日
May LeetCoding Challenge4 之 异或运算
摘要: & 与 两个位都为1时,结果才为1 | 或 两个位都为0时,结果才为0 ^ 异或 两个位相同为0,相异为1 ~ 取反 0变1,1变0 << 左移 各二进位全部左移若干位,高位丢弃,低位补0 >> 右移 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术
阅读全文
posted @ 2020-05-04 19:50 yawenw
阅读(166)
评论(0)
推荐(0)
May LeetCoding Challenge3 之 HashMap的使用
摘要: Map是一种key-value映射表。不存在重复的key。 经常用的方法有put(key,value),get(key),containsKey(key),可以通过for each遍历keyset(),entryset()。 给map赋值的方法可以参考该语句:map.put(c, map.getOr
阅读全文
posted @ 2020-05-04 19:11 yawenw
阅读(142)
评论(0)
推荐(0)
2020年5月3日
May LeetCoding Challenge2 之 HashSet的使用
摘要: Set常用方法:add,remove,contains,size... HashSet无序,与HashMap的key作用相同。 TreeSet有序,与TreeMap的key作用相同。 两种解法: 1.遍历字符串S,判断S中的字符能否在J中找到对应的字符,如果找到res+1,跳出当前循环,再判断S中的
阅读全文
posted @ 2020-05-03 20:28 yawenw
阅读(116)
评论(0)
推荐(0)
May LeetCoding Challenge1 之 标准二分查找法
摘要: 使用二分查找法:前提条件为序列有序,经常在以下两种情况下使用 1.在[1,2,3,4,5,6,7]查找一个目标target数字。相比线性遍历时间复杂度O(n),二分查找时间复杂度为O(logn)。 2.在[0,0,0,1,1,1,1]查找元素1第一次出现的位置。 JAVA /* The isBadV
阅读全文
posted @ 2020-05-03 19:04 yawenw
阅读(111)
评论(0)
推荐(0)
2020年4月30日
30-Day Leetcoding Challenge Day21
摘要: 本题最先想到的是暴力解法:但题目对访问矩阵元素的次数做了限制。因此暴力法会报错。 有以下三种思路: 1.每行线性搜索。行遍历。找到每行中第一个为元素1的位置,保存位置中最小的列,break退出当前行。(Wrong Answer) 2.每行二分搜索。对行进行二分查找,找到每行中第一个为元素1的位置,保
阅读全文
posted @ 2020-04-30 14:49 yawenw
阅读(99)
评论(0)
推荐(0)
2020年4月29日
30-Day Leetcoding Challenge Day19
摘要: 本题主要用二分法的思想。因为题目要求时间复杂度为O(logn)。 1.首先用二分法找到旋转点,将数组分为两个递增子序列,再分别对两个子数组用二分法找到目标值。 2.再传统的二分法基础上多加一次判断,判断当前序列是否为递增序列。 JAVA class Solution { int []nums; in
阅读全文
posted @ 2020-04-29 18:19 yawenw
阅读(134)
评论(0)
推荐(0)
30-Day Leetcoding Challenge Day18
摘要: 本题简单的动态规划 分三种情况: 1. 第一行元素:grid[i][j] += grid[i][j-1] 2.第一列元素:grid[i][j] += grid[i-1][j] 3.其他元素:grid[i][j] += min(grid[i-1][j], grid[i][j-1]) 返回矩阵最后一个元
阅读全文
posted @ 2020-04-29 15:52 yawenw
阅读(106)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
···
20
下一页
公告