![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日记
文章平均质量分 50
时俗之俗
这个作者很懒,什么都没留下…
展开
-
Golang 引用类型和值类型以及错误“as the method has a pointer receiver”
Golang 引用类型和值类型以及错误“as the method has a pointer receiver”原创 2021-12-30 17:52:35 · 905 阅读 · 0 评论 -
10月27号,比较有趣的dfs题目+stack,301. 删除无效的括号, Java Array、List、Set互相转化
删除无效的括号有趣的困难题,难点在于题目的理解,为了加深记忆,所以用python 和 JAVA写了两遍,其实也可用用记忆化提升速度中间关于java中的转换有点忘记了,特地记录一下:Java Array、List、Set互相转化class Solution { private Set<String> res = new HashSet<>(); String s; public List<String> removeInvalidPare.原创 2021-10-28 22:48:17 · 137 阅读 · 0 评论 -
10月28号 每日一题,全排序,set,脑筋急转弯题
一开始我用的是全排序的方法:结果虽然过了但很慢:class Solution: BIG = 2**30 def reorderedPowerOf2(self, n: int) -> bool: #dfs numList = [] while n: numList.append(n%10) n=n//10 def dfs(numList,x):原创 2021-10-28 20:18:34 · 127 阅读 · 0 评论 -
2021 10/26:记住,一但要求下一个更大的元素,就是用单调栈解(stack)
下一个更大元素 Iclass Solution: def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]: res={} stack=[] for i in range(len(nums2)-1,-1,-1): while stack and stack[-1]<=nums2[i]: .原创 2021-10-26 22:43:21 · 105 阅读 · 0 评论 -
10月22号:python的hashmap(dict)机制和 java的hashmap机制
前段时间面试问到过,我不是很会,所以现在总结一下;主要是有关知识的一些索引的记录python的dict的机制在不同版本中是有所变化的。这里有篇文章讲的是这个方面的内容HashMap(python实现原理)然后关于python在dict中使用的hash,我自己之前有所总结:9月1号 python的_hash_和_eq_方法归根究底,class的default hash值到底是什么接下来是有关java的hashmap的机制。这个在java面试中应该是必考的内容。网上的资料有很多比如面试特化形的J原创 2021-10-22 14:46:24 · 199 阅读 · 0 评论 -
10月21号:每日一题:乘法器,除法器
今天的每日一题是一道简单题,但是和之前做的每日一题以及我前两天做的微软笔试有所关联:这种类型都是模拟题,像是这道模拟的就是简单进位加一class Solution: def plusOne(self, digits: List[int]) -> List[int]: if digits[-1]<9: digits[-1]+=1 return digits digits[-1]=0原创 2021-10-21 11:14:10 · 81 阅读 · 0 评论 -
10月12号 leetcode 29:计算机组成原理如何实现两数相除
两数相除给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/divide-two-integers著作权归领扣..原创 2021-10-12 23:23:53 · 109 阅读 · 0 评论 -
10月12号 leetcode SQL复习
Department Highest SalaryHaving 条件是用来筛选group的而不是用来筛选group内部条件的。Second Highest Salary查询第二多花费得工资。Limit语句mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15如果不存在这种情况,直接会输出空字符,然而我们想让他输出null如果遇到NULL的情况再套一层,因为 select null会返回null# Write your..原创 2021-10-12 22:54:36 · 65 阅读 · 0 评论 -
10月05号 有向图有环图搜问题思路,拓扑排序和dfs
当图是有向的时候要使用dfs,这些是图的特性,应该在一开始有图做题的时候就应该有所判断:下面是1559. 二维网格图中探测环 无向图dfs的范例:sys.setrecursionlimit(999999999)class Solution: def containsCycle(self, grid: List[List[str]]) -> bool: direction = [(-1,0),(1,0),(0,-1),(0,1)] N,M = len(gr.原创 2021-10-06 22:18:18 · 229 阅读 · 0 评论 -
10月1号国庆节,动态规划
哎,国内都在放假,而我还要考试。。。再总结一道动态规划题目后去看xgboost.今天是著名的解码方法II是从解码方法发展过来的题目。下面列一下做这道动归的经典思路:他比解码方法I多了下面这段描述:除了 上面描述的数字字母映射方案,编码消息中可能包含 '’ 字符,可以表示从 ‘1’ 到 ‘9’ 的任一数字(不包括‘0’)。例如,编码字符串 "1" 可以表示 “11”、“12”、“13”、“14”、“15”、“16”、“17”、“18” 或 “19”中的任意一条消息。对 “1*” 进行解码,相当原创 2021-10-01 22:37:27 · 79 阅读 · 0 评论 -
2021-09-29 : 29号动态规划问题 组合号码
这是前几天的动态规划,因为五个月以前也做过,所以放在一起感触颇多:组合问题这是五个月前写的:class Solution: def numDecodings(self, s: str) -> int: import itertools #动态规划试试 dp = [0 for _ in range(len(s)+1)] dp[0] = 1 for i in range(1,len(s)+1):原创 2021-09-29 23:30:00 · 85 阅读 · 0 评论 -
9月24日:这几天在做牛客网上的笔试题目就没写日记,打算做完后一块总结,今天的每日一题值得记录一下
今天的每日一题是430. 扁平化多级双向链表这道题目是一道链表的深搜题目,我也按照深搜的写法写了,但是由于边界条件有点复杂,最后写的超级乱:class Solution: def flatten(self, head: 'Node') -> 'Node': def flat(node): tmp = node.next tmp1 = node.child node.next=tmp1原创 2021-09-24 12:15:31 · 47 阅读 · 0 评论 -
9月20号 中秋放假: pandas 三种将 连续属性离散化处理的方法
这两天在帮朋友跑个满意度的模型。发现当中最有进步空间的是数据预处理的部分,之前的那个人做得太粗糙了。在业务层面一般都会将连续的数据离散化处理,这实质上是一种tradeoff.在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:0.离散特征的增加和减少都很容易,易于模型的快速迭代;1. 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;2.离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,原创 2021-09-20 21:55:12 · 420 阅读 · 0 评论 -
9月19日 每日一题 650. 只有两个键的键盘。递归,装饰器(lru_cache),质因数分解
我一开始的思路是用递归解决:class Solution: def minSteps(self, n: int) -> int: @functools.lru_cache() def findprime(n): if n==1: return 0 for i in range(int(sqrt(n)),1,-1): if n%i==0:原创 2021-09-20 15:00:56 · 63 阅读 · 0 评论 -
9月16日 这两天事情有点多,但还是尽量记录一下做过的事情(前缀树,字典树,深搜剪枝)
今天的每日一题是单词搜索2一开始想先试试深搜能过多少,结果就过了。。。class Solution: def findWords(self, board: List[List[str]], words: List[str]) -> List[str]: #先用深搜试试 wordSet = set(words) direction= [(0,1),(0,-1),(1,0),(-1,0)] m,n = len(board),le原创 2021-09-16 23:53:56 · 71 阅读 · 0 评论 -
9月13号 做了好多东西今天
1.树搜索和图搜索的区别:最近在读人工智能基础:There is always a lot of confusion about this concept, because thenaming is misleading, given that both tree and graph searches producea tree (from which you can derive a path) while exploring the searchspace, which is usually原创 2021-09-13 22:53:29 · 77 阅读 · 0 评论 -
9月11号 每日一题,动态规划困难题(600. 不含连续1的非负整数)
今天是动态规划的一道困难题,我的思路和题解完全不一样,但也做出来了,搜先600.不含连续1的非负整数class Solution: def findIntegers(self, n: int) -> int: bin_n = bin(n) k,tmp = len(bin_n)-2,len(bin_n)-2 dp = [[0]*k for _ in range(2)] #first get the len(k) bin num原创 2021-09-12 11:17:29 · 60 阅读 · 0 评论 -
9月8号 每日一题堆优化贪心 python高阶函数,嵌套函数,assert,mapreduce
上午是一道困难题,但是题目难度实际上不高。本质上和之前周赛做的拿到题目是一样的,是一道有两个变量,可以通过自定义排序的思想解决,只不过第二层次的排序只要求获得最大收益值,所以使用heapq而不是再进行一次排序,heapq的时间复杂度普遍在logn.然后是今天的讨论课讲的是高阶函数和嵌套函数的内容:https://composingprograms.com/pages/16-higher-order-functions.html首先是定义assert的作用断言函数是对表达式布尔值的判断,要求表达式计原创 2021-09-08 15:37:05 · 68 阅读 · 0 评论 -
9月5号,周赛四题,dfs,自定义排序,dp(字节附加题)
今天周赛,起来就已经11点了,只写了三题,放上来分析分析:第一题没什么好写的,据说暴力也能过:这里试试dfs的方法5863. 统计特殊四元组class Solution: def countQuadruplets(self, nums: List[int]) -> int: n= len(nums) res=0 def dfs(nums,cnt,sum_,start): if cnt==3:原创 2021-09-05 23:11:44 · 66 阅读 · 0 评论 -
9月1号 python的_hash_和_eq_方法归根究底,class的default hash值到底是什么
先看官方中文文档的关于_hash_ 的说法:然后面对这种情况我们举一个简单的例子:在这个例子中,test1和test2的值是相等的,但是他们的hash值是不同的。之前看过一篇blog说是class的默认哈值是他的内存地址,但是这个说法是不准确的,默认hash值是通过id的结果生成的。我们可以从Cpython的源码得知pyhash.cPy_hash_t_Py_HashPointer(void *p){ Py_hash_t x; size_t y = (size_t)p;原创 2021-09-02 16:57:12 · 238 阅读 · 0 评论 -
8月27号 双堆思路特殊题目,面试常考,之前碰到过
数据流的中位数;之前亚麻面试遇到过,当时是用sortlist,还现在的做法好多了,记录一下笔记from heapq import *class MedianFinder: def __init__(self): """ initialize your data structure here. """ self.minheap=[] self.maxheap=[] def ad.原创 2021-08-27 23:47:23 · 49 阅读 · 0 评论 -
8月26号 java基础接口,静态字段,final用法(廖雪峰java 学习笔记)
In the abstract class, essentially, the abstract idea is the define the standard of interface . To make sure all the subclass has the same achievement原创 2021-08-26 23:46:32 · 112 阅读 · 0 评论 -
8月25号遍历 路径bfs dfs 记忆化
All Paths From Source to TargetGiven a directed acyclic graph (DAG) of n nodes labeled from 0 to n - 1, find all possible paths from node 0 to node n - 1 and return them in any order.The graph is given as follows: graph[i] is a list of all nodes you ca.原创 2021-08-25 22:16:33 · 62 阅读 · 0 评论 -
8月24日 每日一题 787. K 站中转内最便宜的航班经典最短路线图论题目: BFS,DP, Dijkstra, Bellman-Ford, Bidirectional search
昨天刚听老师讲了3个小时的图与树的搜索策略,今天就碰到了这道每日一题. 打算花点时间用来熟悉一下各种方法. K 站中转内最便宜的航班这应该是把文章搬到CSDN的第一篇,之前的很多格式都出问题了,打算之后复习的时候改一下.首先是优化剪枝的python的BFS方法:class Solution: def findCheapestPrice(self, n: int, flights: List[List[int]], src: int, dst: int, k: int) -> int:原创 2021-08-24 21:59:08 · 198 阅读 · 0 评论