随笔分类 -  思维

摘要:题目来源 LeetCode-238 除自身以外数组的乘积 题目描述 给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 示例: 输入: [1,2,3,4] 输出: [24,1 阅读全文
posted @ 2021-12-20 10:31 Garrett_Wale 阅读(52) 评论(0) 推荐(0) 编辑
摘要:31. 下一个排列 LeetCode_31 题目描述 题解分析 相似题目 31. 下一个排列 556. 下一个更大元素 III 代码实现 class Solution { public void nextPermutation(int[] nums) { int i = nums.length - 阅读全文
posted @ 2021-04-03 20:42 Garrett_Wale 阅读(48) 评论(0) 推荐(0) 编辑
摘要:169. 多数元素 LeetCode_169 题目描述 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2 阅读全文
posted @ 2021-03-21 21:08 Garrett_Wale 阅读(46) 评论(0) 推荐(0) 编辑
摘要:字节跳动2018校招大数据方向(第一批)编程题1 题目描述 P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内) 阅读全文
posted @ 2021-03-13 21:17 Garrett_Wale 阅读(110) 评论(0) 推荐(0) 编辑
摘要:字节跳动2018校招大数据方向(第一批)编程题2 题目描述 给定一个数组序列, 需要求选出一个区间, 使得该区间是所有区间中经过如下计算的值最大的一个: 区间中的最小数 * 区间所有数的和最后程序输出经过计算后的最大值即可,不需要输出具体的区间。如给定序列 [6 2 1]则根据上述公式, 可得到所有 阅读全文
posted @ 2021-03-13 21:05 Garrett_Wale 阅读(147) 评论(0) 推荐(0) 编辑
摘要:题目来源 LeetCode-15 题目描述 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 _a,b,c ,_使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意: 答案中不可以包含重复的三元组。 示例 1: 输入: nums = [-1, 阅读全文
posted @ 2021-02-22 22:29 Garrett_Wale 阅读(76) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 66. 构建乘积数组 Offer_66 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/14 21:56 */ /** * 题目详情:给定一个数组 A[ 阅读全文
posted @ 2021-02-15 23:12 Garrett_Wale 阅读(39) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 44. 数字序列中某一位的数字 Offer_44 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/8 10:01 */ /** * 题目描述: * 数字 阅读全文
posted @ 2021-02-08 16:33 Garrett_Wale 阅读(104) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 43. 1~n 整数中 1 出现的次数 Offer_43 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/8 9:29 */ /** * 题目详情: * 阅读全文
posted @ 2021-02-08 10:02 Garrett_Wale 阅读(43) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 32 - II. 从上到下打印二叉树 II Offer_32 题目描述: 题解分析: 这道题我一开始想到的解决方法较粗暴,就是使用两个变量来记录当前层的节点数和下一层的结点数。 以上的方法虽然可行,但是较复杂。实际每次队列里存储的就是当前层的所有结点,利用这个性质可以较快解题。 解 阅读全文
posted @ 2021-02-01 15:53 Garrett_Wale 阅读(77) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 31. 栈的压入、弹出序列 Offer_31 题目详情: 解析: 这里需要使用一个栈来模仿入栈操作。 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/1/31 14:12 */ import 阅读全文
posted @ 2021-01-31 14:57 Garrett_Wale 阅读(97) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 30. 包含min函数的栈 Offer_30 题目描述: 相似题目 剑指 Offer 30. 包含min函数的栈 面试题59 - II. 队列的最大值 155. 最小栈 题解分析: 题目其实考察的是栈的知识,本题的目的是使用两个栈来求解最小值。 第二个栈主要用来维护第一个栈中的最小 阅读全文
posted @ 2021-01-31 14:12 Garrett_Wale 阅读(94) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 29. 顺时针打印矩阵 Offer_29 题目描述: 题解分析: 题目的初衷是将这道题当做一个简单题处理 这道题一开始想的太复杂了,其实可以参考迷宫广度优先搜索的过程,只不过在选定一个方向遍历时,除非遇到改变方向的情况,否则一直走下去。 需要注意的是:这里的方向二维数组(direc 阅读全文
posted @ 2021-01-31 13:27 Garrett_Wale 阅读(78) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 04. 二维数组中的查找 题目链接 本题的解法是从矩阵的右上角开始寻找目标值。 根据矩阵的元素分布特性, 当目标值大于当前位置的值时将row行号++,因为此时目标值一定位于当前行的下面。 当目标值小于当前位置的值时将col列号--,因为此时目标值一定位于当前列的前面。 最后需要注意 阅读全文
posted @ 2020-12-06 18:45 Garrett_Wale 阅读(62) 评论(0) 推荐(0) 编辑
摘要:Decode Registration Card of PAT PAT-1153 这里需要注意题目的规模,并不需要一开始就存储好所有的满足题意的信息 这里必须使用unordered_map否则会超时 vector的使用需要注意,只有一开始赋予了容量才能读取。 不需要使用set也可以 #include 阅读全文
posted @ 2020-09-21 17:58 Garrett_Wale 阅读(121) 评论(0) 推荐(0) 编辑
摘要:Splitting A Linked List PAT-1133 本题一开始我是完全按照构建链表的数据结构来模拟的,后来发现可以完全使用两个vector来解决 一个重要的性质就是位置是相对不变的。 #include<iostream> #include<cstring> #include<strin 阅读全文
posted @ 2020-09-20 18:00 Garrett_Wale 阅读(148) 评论(0) 推荐(0) 编辑
摘要:Werewolf PAT-1148 题目的要点是不管n规模多大,始终只有两个狼人 说谎的是一个狼人和一个好人 紧紧抓住这两点进行实现和分析 #include <iostream> #include <vector> #include <cmath> using namespace std; int 阅读全文
posted @ 2020-09-19 21:19 Garrett_Wale 阅读(184) 评论(0) 推荐(0) 编辑
摘要:公共钥匙盒 "201709 2" 这题的思路一开始不是很清晰,一开始想用贪心去做。但是发现按照题目的思路不对。所以这里采用的是类似于多项式的加减的处理。 include include include include include include include using namespace s 阅读全文
posted @ 2019-09-03 16:21 Garrett_Wale 阅读(289) 评论(0) 推荐(0) 编辑
摘要:317号子任务 "201903 5" 为了过前60分,想使用dijikstra优化算法的,但是最后还是只过了35分。这里的思路只需要先将所有的行星据点进行一次dijikstra,分别存储所有点到行星的最短距离,最后使用一个优先队列存储所有的距离就可以了。 include include includ 阅读全文
posted @ 2019-08-23 11:20 Garrett_Wale 阅读(423) 评论(0) 推荐(0) 编辑
摘要:Rikka With Coin "HDOJ 6685" 主要的思想如下: 首先10元的硬币最多只会用一个,如果用了两个,直接替换成一个10元、一个20元一定不亏。 20元的硬币最多只会用三个,如果用了四个,直接替换成一个10元、两个20元、一个50元一定不亏。 50元的硬币最多只会用一个,如果用了两 阅读全文
posted @ 2019-08-22 21:32 Garrett_Wale 阅读(121) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示