leetcode之模拟刷题总结3 1-转置矩阵 题目链接:题目链接戳这里!!! 思路:对应行的值放到对应列即可,easy题一道,先做一道easy题,自我安慰安慰。 class Solution { public int[][] transpose(int[][] matrix) { int m = matrix.length ; int n = matrix[0].length
位运算 Q1 二进制中1的个数 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。 class Solution { public: int hammingWeight(uint32_t n) { int counts = 0; while (n) {
一、题目描述 给你一个字符串 s,找到 s 中最长的回文子串。 二、示例 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例 2: 输入:s = "cbbd" 输出:"bb" 三、解题思路 我们要明白最长回文子串的特点,最长回文子串的特点是呈现对称的现象,比如说aabbaa,或
题源:LeetCode 1706. 球会落何处 class Solution { public: vector<int> findBall(vector<vector<int>>& grid) { //思想主要在循环上,真的妙 int n = grid[0].size(); vector<int> ans(n, -1); for(int j = 0; j < n; j++)
题目中明确说明了c语言里有这么一个同名的函数可以解决这个问题,那我们用使用它吧。 先介绍一下: 标准库函数strstr(s,t)返回一个指针,该指针指向字符串t和字符串s中第一次出现的位置;如果字符串t没有在字符串s中出现,函数返回NULL(空指针)。该函数声明在头文件<string.h>
给定N个闭区间 [ a i , b i ]
LeetCode剑指offer刷题day01 剑指 Offer II 005. 单词长度的最大乘积 题目描述: 给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0
【知识点】 要写<cmath>头文件 sqrt(num);表示求根号num; pow(x,y);表示求x的y次方; 【题目】 水杯的体积公式是 \pi \times h \times r^2 \π×h×r2 ,其中 \pi \π 取 3.14 ,h\h 和 r\r 是整数。 输入描述: 输入杯子的高度 h ,底面半径 r 。 输出描述: 输出牛牛最少要喝多少杯水
1. 题目 来源:力扣(LeetCode) 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 <= a, b, c, d < n a、b、c 和 d 互不相同
  之前不会排版,把word内容直接复制粘贴过来,没想到格式颜色都不对,空格也没用。这次刚看见的富文本编辑器。   今天早晨复习了一下昨天的题,做的速度提高了,但是写完又报错,还找不出来为什么。感觉这样浪费时间比较多,打算调整下思路: 先直接全敲一遍,第二天复习的
文章目录 系列文章目录前言题录131. 分割回文串93. 复原 IP 地址78. 子集90. 子集 II46. 全排列47. 全排列 II491. 递增子序列 系列文章目录 一、 数组类型解题方法一:二分法 二、数组类型解题方法二:双指针法 三、数组类型解题方法三:滑动窗口 四、数组类型解题方法四:模拟
一、递归与递推 递归实现指数型枚举 import java.util.*; public class Main { static int n; static LinkedList<Integer> tmp = new LinkedList<>(); public static void main(String[] args) { Scanner scan = new Scanner(System.in); n =
最近刷题的时候碰到很多单调栈的问题,特此记录下来,省的以后全忘了。 单调栈问题都有一个特点,就是大多数的栈存的并不直接是元素,而是下标,通过下标去做判断。 单调栈,顾名思义就是栈内存储的元素是非递增或者是非递减的,方便进行遍历 Q1 LeetCode739 每日温度 请根据每日 气温 列
目录 剑指 Offer 30. 包含min函数的栈 剑指 Offer 31. 栈的压入、弹出序列 面试题32 - I. 从上到下打印二叉树 剑指 Offer 32 - III. 从上到下打印二叉树 III 剑指 Offer 33. 二叉搜索树的后序遍历序列 剑指 Offer 34. 二叉树中和为某一值的路径 剑指 Offer 35. 复杂链表的复制
STL应用 vector HDU 3527 STL应用 map HDU 3527 STL应用 queue poj 1915 STL应用 set hdu 1412 STL应用 map poj 2418 STL应用 map HDU 1263 STL应用 stack 计蒜客 T1655 线段树 HDU - 1166 敌兵布阵 线段树 POJ - 3468 A Simple Problem with Integers 线段树 poj 2777 Count Col
关于算法 题目资源 https://codetop.cc/home (codetop) https://labuladong.gitee.io/algo/ (labuladong) https://www.programmercarl.com/ (代码随想录) https://time.geekbang.org/column/intro/100017301 极客时间 - 数据结构与算法之美(王争) 极客时间 - 数据结构与算法之美(王争
【矩阵乘法&快速乘模板】【题解】【刷题比赛】 P1707 刷题比赛 Solution: 很明显是一道矩阵乘法加速递推,只是推转移矩阵比较复杂。 做这种题的思路是: 如果递推为线性递推,且暴力递推次数很多,可以考虑矩阵优化 先根据要计算的信息,列出一个行数为1的状态矩阵,设为\(F_n\)。 再仿照\(F
题面: 输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本中的另外一个单词。在判断是否满足条件时,字母不分大小写,但在输出时应保留输入中的大小写,按字典进行排序(所有大写字母在所有小写字母的前面)。 【样例输入】: ladder came tape soon leader acme
前缀和技巧 前缀和技巧适用于的场景是原始数组不会被修改的情况下,频繁地查询某个区间地累加和。 大致框架如下所示: class preSum{ public: vector<int> sums; preSum(vector<int>& nums) { int len = nums.size(); sums.resize(len + 1);
描述 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) 输入描述: 输入一行,代表要计算的字符串,非空,长度小于5000。 输出描述: 输出一个整数,表示输入字符串最后一个单词的长度。 示例 输入: hello nowcoder 输出: 8 说明: 最后一
题面: n个人排队到r个水龙头去打水,他们装满水桶的时间t1,t2,...,tn为整数且各 不相等,应如何安排他们的打水顺序才能使他们花费的时间最少? 【输入】 第1行,两个整数n(1<=n<=500)和r(1<=r<=100)。 第2行,n个正整数t1,t2,...,tn,(1<=ti<=1000)表示每个人装满水桶的时间。 【输出
题面: n个数中最大的那个数在哪里?输出其位置, 若有多个最大数则都要输出。 【输入】 第一行:n( 3 <= n <= 10) 第二行:空格 隔开的n个数 【输出】 输出若干个数,表示最大数的位置,每行一 个。 【样例输入】 5 1 2 6 3 6 【样例输出】 3 5 使用pair加vector解决 #inclu
题目: 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数...以后从头开始轮流进行一至二报
题面: 有n张扑克牌,记为1 2 …… n,按照一定 的规律排放后,可以使翻开的第一张牌是 1,然后把下面一张牌放到整副牌的末尾, 再翻下一张刚好是2,再把后一张牌放到 整副牌的末尾,下面一张是3……如此继 续下去,直到最后一张牌n翻出。试编程 解决这个问题。 【输入说明】 一个正整数n( 1
1.二阶段课程重温(mooc线上课) 贪心、排序、分治、dfs、bfs、指针、结构体、递归、递推、时间&空间复杂度计算 2.三阶段刷题(三阶段课件) DP(*)、广搜、栈和队列(*)、树、优先队列(*)、图论(图的遍历和存储、最短路、最小生成树、拓扑排序、欧拉路、并查集) 3.冬令营刷题(Acwing)