自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZhangyiA的博客

刷题随笔

  • 博客(89)
  • 收藏
  • 关注

原创 虚拟机ubuntu 18.04 -配置网络静态ip,解决ping不通内网、ping不通电脑

配置虚拟机网络连接1:设置虚拟机网络连接模式2:确定自己网关,可以在虚拟机 -> 编辑 ->虚拟网络编辑器 中点击 NAT设置进行查看,以及修改DHCP配置,去掉使用本地DHCP服务将IP地址分配给虚拟机的选项,具体可参考VMware配置NAT网络 可按照该博文执行到第 3 步,进行 NAT 和 DHCP 的配置修改系统配置参考博客虚拟机ubuntu 18.04 -配置网络静态ip,解决ping不通内网、ping不通电脑和板子的问题3:修改 自启动接口配置脚本vim /etc/ne

2021-11-24 17:39:10 4909

原创 VMware 16 下 Ubuntu 18.04 系统 网络连接

网上查找了很多,给上一个最实用的教程 VMware配置NAT网络正常安装的,基本只需要修改这一个地方,即可解决问题。选中VMware上需要修改的虚拟机—>鼠标邮件—>点击设置,然后参考下图,将虚拟机网络更改为NAT模式,推荐使用“自定义”来指定对应的网卡...

2021-11-24 15:14:24 940

原创 安装 VMware Tools 教程,解决调整虚拟机窗口大小

1、点击 虚拟机 --> 安装 VMware Tools , 会在 Ubuntu 系统桌面生成 VMware Tools DVD 光盘2、在桌面新建一个文件夹 myfile 将 VMware Tools DVD 光盘中的 VMwareTools-10.3.22-15902021.tar.gz 拷贝到该文件夹下。然后在该文件夹下打开终端,进行解压 , (左边的是解压后得到的)tar -zxvf VMwareTools-10.3.22-15902021.tar.gz3、紧接着 进入 vmwar

2021-11-24 15:09:36 1680 1

转载 11223344 问题 (阿里面试,说思路)

题目描述给你一个整数 n , 你可以得到一个序列, 该序列是由 1 - n 组成的, 且每个数字出现两次 ;n = 4 , 11223344将其排列,要求结果满足:两个 1 之间有一个数,两个 2 之间有两个数,两个 3 之间有三个数,两个 4 之间有四个数。问这个结果是多少?题目分析参考思路这道题不让写代码,要求动笔算,实际就是模拟暴搜的过程。我分享一个我面试时使用的思路,不一定最优。我们可以想象成有 8 个空格子,依次往里填数字,填的时候满足题目的要求,最终得到的结果便是问题的答案

2021-09-10 18:38:28 1791 2

原创 力扣:K 站中转内最便宜的航班

题目描述有 n 个城市通过一些航班连接。给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 pricei 抵达 toi。现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是 找到出一条最多经过 k 站中转的路线,使得从 src 到 dst 的 价格最便宜 , 并返回该价格。 如果不存在这样的路线,则输出 -1。力扣:787. K 站中转内最便宜的航班输入:n = 3,

2021-08-25 10:24:13 170

原创 力扣:0 和 1个数相同的子数组

题目分析给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。力扣:525.(剑指offerII 11)nums = [0 , 0 , 0 , 1 , 0 , 1 , 1 , 0]6题目分析前缀和思想,算法步骤1、创建一个哈希表,用 key 来储存 preSum 值, value 用来储存当前 index2、假设我们碰到 0 将 preSum - 1 , 碰到 1 则 preSum + 1;3、我只需要保存 preSum 第一出现

2021-08-04 15:09:28 761

原创 力扣:替换后的最长重复字符

题目分析给你一个 仅由大写英文字母组成 的字符串,你可以将任意位置上的字符替换成另外的字符,总共可 最多替换 k 次 。在执行上述操作后,找到包含 重复字母的最长子串的长度 。注意:字符串长度 和 k 不会超过 10^4。力扣:424. 替换后的最长重复字符s = “ABABBCCCCDC”   k = 2max_len = 7题目分析此题和 力扣:1004. 最大连续 1 的个数 III 看似相同,又有所不同,但本质都是 滑动窗口 ,因为求得都是连续的最长子序列。不同点在于,最大连

2021-08-03 11:05:32 249

转载 力扣:字符串解码

题目描述给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。力扣:394. 字符串解码输入:s = “3[a]2[bc]”输出:“aaabcbc”

2021-08-02 14:14:34 243

转载 力扣:网络延迟时间

题目分析有 n 个网络节点,标记为 1 到 n。给你一个列表 times,表示信号经过 有向 边的传递时间。 times[i] = (ui, vi, wi),其中 ui 是源节点,vi 是目标节点, wi 是一个信号从源节点传递到目标节点的时间。现在,从某个节点 K 发出一个信号。需要多久才能使所有节点都收到信号?如果不能使所有节点收到信号,返回 -1 。力扣:743. 网络延迟时间输入:times = [ [ 2 , 1 , 1 ] , [ 2 , 3 , 1 ] , [ 3 , 4 ,

2021-08-02 11:16:44 293

原创 力扣:最长单次长度乘积

题目描述给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的 最大值,并且这 两个单词不含有公共字母 。你可以认为每个单词只包含小写字母。如果不存在这样的两个单词,返回 0。力扣:318. 最长单次长度乘积输入: [“abcw” , “baz” , “foo” , “bar” , “xtfn” , “abcdef”]输出: 16解释: 这两个单词为 “abcw” , “xtfn”。题目分析废物我:暴力的解法,两两进行比较,每次比较

2021-08-01 22:01:43 108

转载 力扣:解码方法

题目描述一条包含字母 A-Z 的消息通过以下映射进行了 编码 :‘A’ -> 1‘B’ -> 2…‘Z’ -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:“AAJF” ,将消息分组为 (1 1 10 6)“KJF” ,将消息分组为 (11 10 6)注意,消息不能分组为 (1 11 06) ,因为 “06” 不能映射为 “F” ,这是由于 “6” 和 “06” 在映射中并不等

2021-08-01 17:33:05 178

原创 力扣:连续数组 (前缀和)

题目描述给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的 最长连续子数组,并返回该子数组的长度。力扣:525. 连续数组输入 :nums = [ 0 , 1 , 1 , 0 , 1 , 1 , 1 , 0]输出 :4说明 :[0 , 1 , 1 , 0] 具有相同数量 0 和 1 的最长连续子数组题目分析如何控制相同数量的 0 和 1 呢?可以借助前缀和的思想。我们可以把原输入数组中的 0全部换成 -1,构成新数组 newArray ,观察 newArray 的前缀

2021-06-06 18:37:56 305

原创 面试:链表序列 I

本博客的目的是为了顺一顺链表中常见的题型 ,备战 2021 年 秋招。题目的顺序参考 鲂的2021秋招算法总结 其实很多题已经 AC 了 , 总觉得再捋一遍会更踏实 。链表的结构为public class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}链表中的加法题1、两数相加给你两个 非空 的链表,表示两个 非负的整数 。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存

2021-05-25 16:35:06 128

转载 力扣:最长回文子序列

题目描述给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 。提示:1 <= s.length <= 1000s 只包含小写英文字母力扣:516. 最长回文子序列输入:“bbbab”输出:4一个可能的最长回文子序列为 “bbbb”。题目分析:参考题解题解 – 代码随想录1、状态数组dp[i][j]:字符串 s 在 [i, j] 范围内最长的回文子序列的长度为 dp[i][j]。2、确定地推关系如果

2021-05-18 17:00:59 346

原创 力扣:最长回文子串

题目描述给你一个字符串 s,找到 s 中最长的回文子串。力扣:5. 最长回文子串输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。题目分析: 我们枚举所有的「回文中心」并尝试「扩展」,直到无法扩展为止,此时的回文串长度即为此「回文中心」下的最长回文串长度。我们对所有的长度求出最大值,即可得到最终的答案 ,按照 回文串 长度的 奇 偶 ,「扩展」也就有了两种形式。class Solution { public String longestPalin

2021-05-18 16:20:06 145

原创 力扣:最长回文串

题目描述给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。力扣:409. 最长回文串输入:“abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。题目分析: 根据题目意思 , 把给定的字母重新构造成最长的回文串 , 注意不是 子串 或者 子序列 , 而是可以全部打乱重组 。 那么问题就可转换为 , 每个字母出现次数问题 , 如果是出现 偶

2021-05-18 15:51:51 316

原创 力扣:打家劫舍 I & 变形题

题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。力扣:198. 打家劫舍输入:[2,7,9,3,1]输出:12解释:偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。偷窃到的最高

2021-05-08 17:42:21 207

原创 笔试:求数组左边减去右边的最大值 / 右边减去左边的最大值

求数组左边减去右边最大值 / 右边减去左边最大值 是笔试和面试中很容易考的一个动态规划问题,我的一个同学面试的时候就考了 求数组左边减去右边最大值 一题 。先考虑一下 右边减去左边最大值 ,为什么呢 ? 因为这是 力扣 上一到很经典的动态规划 序列 题 ,可能换个名字大家就能想起来了, 力扣: 121. 买卖股票的最佳时机题目描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的

2021-05-07 11:14:10 677

原创 腾讯笔试:荣耀积分

题目描述游戏俱乐部 , 有 n 个小游戏 , 其中第 i 个小游戏必须在 ti 时刻内完成 (假设玩家进入俱乐部时间为 0 时刻 , 开始游玩某一游戏只需要一个单位时间即可完成 ) 否则, 就会扣除 wi 点荣耀积分。每天俱乐部都会向最优顺序选择者授予纪念勋章 , 所谓的最有顺序,即为:最终扣除的荣耀积分最少的玩家 。输入描述:T (1 <= T <= 1000) 组测试数据 ,每组第一行输入一个整数 n (1 <= n <= 1000) ,代表游戏数目第二行输入 n

2021-05-06 20:52:34 305

原创 力扣:最大连续 1 的个数 III

题目描述给定一个由若干 0 和 1 组成的数组 nums,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。力扣:1004. 最大连续 1 的个数 III输入:A = [ 0 , 0 , 1 , 1 , 0 , 0 , 1 , 1 , 1 , 0 , 1 , 1 , 0 , 0 , 0 , 1 , 1 , 1 , 1 ] , K = 3输出:10解释:[ 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0

2021-05-06 20:18:43 266

原创 阿里笔试:拿糖果

题目描述有 n 盒糖果 , 每盒糖果的数量为 a[i] 。 这 n 盒糖果从 1 到 n 的顺序顺时针方向摆成一个圆 , 索引为 n 的糖果盒顺时针方向的下一个糖果盒的索引为 1 , 对于其余的每盒糖果 , 编号为 i 的糖果盒顺时针的下一个糖果盒的索引为 i + 1 。你可以选择任意一盒糖果, 然后从它开始顺指针方向那走连续的 k 盒糖果 , 问从哪盒糖果开始拿可以那最多的糖果 , 输出你选择的盒子的索引 。 如果有多重方案可以拿到最多的糖果则输出最小的索引 。输入描述:第一行两个整数 n ,

2021-05-06 20:03:27 215

原创 力扣:将 x 减到 0 的最小操作次数

题目描述给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。请注意,需要 修改 数组以供接下来的操作使用。如果可以将 x 恰好 减到 0 ,返回 最小操作数 ;否则,返回 -1 。输入:nums = [3,2,20,1,1,3], x = 10输出:5解释:最佳解决方案是移除后三个元素和前两个元素(总共 5 次操作),将 x 减到 0 。注意:1 <= nums.length <= 10^5

2021-05-06 19:33:12 674

转载 力扣:全排列序列 (树层、树枝剪枝详解)

题目描述给定一个 没有重复 数字的序列,返回其所有可能的全排列。力扣:46. 全排列输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]排列问题,每次都需要从头开始搜索,因为 [ 1 , 2 ] 和 [ 2 , 1 ] 是两种排列情况,因此与 组合总和 、 子集问题 最大的不同就是 for 循环中不再是用 startIndex ,而是每次都需要从 原数组 0 开始遍历 , 如果还是前两问题的做法,必然

2021-05-05 10:35:30 777

原创 针对组合、子串问题总结

第一次写总结性文章,写的不好望谅解。通过刷了一遍力扣中 组合问题 和 集合子集 问题发现了一些共同的特点。主要分为两类1、原数组 nums 中是否包含重复元素 。2、最终解 result 中是否允许重复取某一个元素 。第一类:(1)、原数组 nums 中 包含重复元素这对这种情况,只需通过剪枝,把重复解剪掉,void backtracking(){ pos1: 存放结果 if (终止条件) { pos2: 存放结果; return; }

2021-05-04 22:04:41 336

原创 力扣:集合的子集 II

题目描述给你一个整数数组 nums ,其中可能 包含重复元素 ,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。输入: [ 4 , 4 , 4 , 1 , 4 ]输出: [ [ ] , [ 1 ] , [1 , 4 ] , [ 1 , 4 , 4 ] , [ 1 , 4 , 4 , 4 ] , [1 , 4 , 4 , 4 , 4 ] , [ 4 ] , [ 4 , 4 ] , [ 4 , 4 , 4 ] , [ 4 , 4 , 4 ,

2021-05-04 21:09:29 210

原创 力扣:集合的子集

题目描述给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。输入:nums = [ 1 , 2 , 3 ]输出:[ [ ] , [ 1 ] , [ 2 ] , [ 1 , 2 ] , [ 3 ] , [ 1 , 3 ] , [ 2 , 3 ] , [ 1 , 2 , 3 ] ]力扣:78.子集如果有了 组合总和 系列刷题经历,此题就大同小异,无非就是排序,此题中加入到 结果集 result 中的

2021-05-04 20:54:16 365

原创 力扣:分割回文串

题目描述给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。输入:s = “aab”输出:[ [ “a” , “a” , “b” ] , [ “aa” , “b” ] ]如果有了 组合总和 系列刷题经历,此题就大同小异 ,(图片来源:)class Solution { List<List<String>> result = new ArrayList<&gt

2021-05-04 20:15:04 194

原创 力扣:冗余连接

题目分析在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向图的边。返回一条可以删去的边,使得结果图是一个有着N个节点的树。如果有多个答案,则返回二维数组中最后出现的边。答案边 [u, v] 应满足相同的格式 u <

2021-05-04 15:08:11 231

原创 力扣:移除最多的同行或同列石头

题目描述n 块石头放置在二维平面中的一些整数坐标点上。每个坐标点上最多只能有一块石头。如果一块石头的 同行或者同列 上有其他石头存在,那么就可以移除这块石头。给你一个长度为 n 的数组 stones ,其中 stones [ i ] = [ xi , yi ] 表示第 i 块石头的位置,返回 可以移除的石子 的最大数量。力扣:947. 移除最多的同行或同列石头输入:stones = [ [ 0 , 0 ] , [ 0 , 1 ] , [ 1 ,0 ] , [ 1 , 2 ] , [ 2 , 1

2021-05-04 15:01:38 265

原创 子串翻转 (差分数组)

题目描述小美有一个由小写字母组成的字符串。小美认为字母表很有意思。所以他规定, 在小写字母中,每个字母的后继就是字母表中这个字母的后一个 , 比如 a 的后继是 b , b 的后继是 c 。而字母表中的最后一个字母是 z , 为了防止 z 没有后继 , 小美又规定 z 的后继是 a 。这样字母的后继就形成了一个 闭环。现在小美想要让字符串发生变化。所以他 每次会给出一个 区间 和一个数 k , 并且让区间中所有的字母变成他们的第 k 个后继。第 k 个后继即让后继操作进行 k 次,比如 a 的 2 级

2021-04-25 15:21:21 249

转载 差分数组模板

参考于 labuladong: 论那些小而美的算法技巧:差分数组一、什么时候使用差分数组呢?相信很多人都遇到过这类题:给定一个原数组长度为 n,查询次数 m ,每次查询给定一个区间 [l ,r] 和一个整数 k , 使得原数组介于 [l ,r] 之间的元素同时 增 (或减) k输出最终的数组num[ 8 , 2 , 6 , 3 , 1 ] m = 21 3 10 2 3注:第一次查询 num = 8 3 7 4 1第二次查询 num = 11 6 10 4 1最终 num = 1

2021-04-25 14:12:45 265

原创 力扣: 可以攻击国王的皇后

题目描述在一个 8x8 的棋盘上,放置着若干「黑皇后」和一个「白国王」。「黑皇后」在棋盘上的位置分布用整数坐标数组 queens 表示,「白国王」的坐标用数组 king 表示。「黑皇后」的行棋规定是:横、直、斜都可以走,步数不受限制,但是,不能越子行棋。请你返回可以直接攻击到「白国王」的所有「黑皇后」的坐标(任意顺序)。力扣:1222.可以攻击国王的皇后输入:queens = [ [0 , 0] , [1 , 1] , [2 , 2] , [3 , 4] , [3 , 5] , [4 , 4

2021-04-12 23:47:01 202

原创 力扣:最大值 (lambda)

题目描述给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。力扣:179.最大数输入:nums = [3 , 30 , 34 , 5 , 9]输出:“9534330”题目分析:要想组成最大的整数,一种直观的想法是把数值大的数放在高位。实际上对于 nums 中的任意两个值 a 和 b,我们无法直接从常规角度上确定其大小/先后关系。下面考虑输入数组 有相同数字开头 的情况,例如 [4 ,

2021-04-12 21:42:06 1526

原创 力扣:N皇后

题目描述n 皇后问题 研究的是如何将 n 个皇后放置在 n × n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。提示:1 <= n <= 9皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。力扣:51.N皇后上面是当 N = 4 时 ,所有满足条件的放置方案。这是一道非常经典的

2021-04-09 23:30:06 567 3

转载 力扣:山脉数组中查找目标值

题目描述给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 的下标 index 值。如果不存在这样的下标 index,就请返回 -1。何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:首先,A.length >= 3其次,在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i]A[i]

2021-04-07 14:19:27 174

原创 力扣:寻找峰值

题目描述符合下列属性的数组 arr 称为 山脉数组 :arr.length >= 3存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i+1] > ... > arr[arr.length - 1]给你由整数组成的山脉数组 arr ,返回任何满足 arr[0] < arr[1] < … arr[i

2021-03-29 17:01:16 201

原创 力扣:搜索旋转排序数组 II

题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。力扣:81. 搜索旋转排序数组II题目分析请参考 搜索旋转排序数组本题的区别在于,数组中有重复元素的出现,需要进行边界压缩 ,核心如下:if(nums[left] == nums[mid]){ left ++; continue;

2021-03-28 11:28:09 173

原创 力扣:搜索旋转排序数组

题目描述整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]] 。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums 和一个整数 target ,

2021-03-28 11:13:29 287

原创 力扣:搜索旋转排序数组中最小值 (先看)

题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。例如,数组 [ 0 , 1 , 2 , 4 , 5 , 6 , 7 ] 可能变为 [ 4 , 5 , 6 , 7 , 0 , 1 , 2 ] 。请找出其中最小的元素。力扣:153. 寻找旋转排序数组中的最小值题目分析对于在 有序数组 中的搜索问题,优先考虑使用 二分查找 解决这里虽然 进行了旋转 , 但旋转点左右两侧仍然是有序,且 右区间最大值是小于左区间的最小值 , 即 max ( right ) < min ( le

2021-03-27 16:33:04 196

原创 2021-3-21 牛牛很喜欢在数字序列中跳跃(百度面试)

题目描述牛牛很喜欢在数字序列中跳跃现在他站在 1 号位置, 每次跳跃,他可以向后跳一步(即从 i 调到 i + 1),也可以跳到该位置后的任意一个与该位置上的数字相同的位置请问他最少需要跳多少步才能到 N 号位置?输入描述第一行输入一个整数 N ,表示数字序列的长度接下来一行为一个仅由数字 0 - 9 构成的数字串输出描述输出到达 N 号位置最少的步数题目分析动态规划思想:1、dp[ i ] 表示 跳到第 i 号位置需要的最少步数2、根据题意,跳到第 i 个位置,可以从 i -

2021-03-26 22:30:01 658

空空如也

空空如也

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

TA关注的人

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