参考:代码随想录 1 数组理论基础 首先要知道数组在内存中的存储方式,这样才能真正理解数组相关的面试题: 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以方便的通过下标索引的方式获取到下标对应的数据。 注意: 数组内存空间的地址是连续的。 数组下标都是从 0 开始的。 因为数组在内存空间的地址是连续的,所以数组没有直接的
publicintminSubArrayLen(inttarget,int[] nums){int[] ans =newint[nums.length];// 当前元素代表和大于等于target的最少的前n个元素(若前面元素相加的最大值,则取最大值)int[] sum =newint[nums.length];// 当前元素代表前n个元素的和intmin=1<<30;if(nums ==null|| nums.length ==0){return0;...
Google规范是 大括号和 控制语句保持同一行的,我个人也很认可这种写法,因为可以缩短代码的行数,特别是项目中代码行数很多的情况下,这种写法是可以提高阅读代码的效率。 当然我并不是说一定要按照Google的规范来,代码风格其实统一就行,没有严格的说谁对谁错。 总结 如果还是学生,使用C++的话,可以按照题解中我的代...
class Solution { public: int uniquePaths(int m, int n) { int dp[m][n]; for(int i = 0; i < m; i++)dp[i][0] = 1; for(int i = 0; i < n; i++)dp[0][i] = 1; for(int i = 1; i < m; i++){ for(int j = 1; j < n; j++){ dp[i][j] = dp[i - ...
代码随想录打卡 Day 1 1.二分法 leetcode编号:704.二分查找 【题目描述】 在一个有序无重复有元素的数组nums中,寻找一个元素target,如果找到乐就返回对应的下标,如果没有找到就返回-1。 【题目分析】 二分法的前提是数组为有序数组,题目中同时强调无重复元素。两者都是使用二分法的前提条件。
记录一下自己使用kotlin解题的过程,源代码和注释 1.二分查找,LeetCode题号704,查找区间为闭区间 fun search(nums: IntArray, target: Int): Int { //初始化查找范围 var left = 0 var right= nums.size-1 //开始查找 while(left <= right){ ...
代码随想录 代码随想录是一个致力于帮助程序员提高编程能力的平台,涵盖了多种编程技术和算法的学习资源。代码随想录是一套完整的刷题计划,旨在帮助大家少走弯路,循序渐进学算法。 代码随想录官网网址:https://programmercarl.com/ 代码随想录详细介绍: HTML5和CSS:介绍了HTML5和CSS的基本概念及其应用场景,强调了...
正式开始: 下面按照题目-我的解答思路和代码-代码随想录给出的讲解 的顺序写的,给出的讲解大部分是直接粘过来的,代码都是直接粘的,有的可能会加上自己的理解,当笔记记录的,欢迎讨论。 一、数组 思维上一般都不难,主要考察对代码的掌控能力。 1. 理论基础 数组在内存中的存储方式:是存放在连续内存空间上的相同...
今天开始刷代码随想录,从数组开始,把二分法,删除指定元素,平方和再排序,找最短满足要求的连续子串,螺旋矩阵等题目,印象最深刻的就是边界处理问题,还有就是要根据题目,运用一定的数学知识,降低时间复杂度_牛客网_牛客在手,offer不愁
代码随想录day1 数组下标从0开始,如果使用C++的话,要注意vector 和 array的区别,vector的底层实现是array,严格来讲vector是容器,不是数组。 数组的元素只能覆盖,不能删除。 C++中vector 是标准库中的提供的一个容器类,用于存储动态大小的元素序列。它是一个模板类,用于动态存储任意类型的元素。注意包含头文件<...