96SEO 2026-02-20 05:33 19
若查找某个数组中第n个元素#xff0c;有两种方法#xff1a;

2.使用数组这种hash结构根据下标(索引)来查找复杂度O(1)
当根据映射方法进行映射构造hash表时出现两个元素抢占一个索引的现象叫做hash碰撞。
线性探测将一个元素放入该索引顺找该索引往下找一个空位置存放另一个元素。
你可以假设每种输入只会对应一个答案。
但是数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
i0;inums.length;i){if(!numsMap.isEmpty()numsMap.keySet().contains(nums[i])){return
int[]{i,numsMap.get(nums[i])};}numsMap.put(target-nums[i],i);}return
则所有异位字符串通过字母按从小到大的顺序重排得到的值是一样的。
我们将其作为索引对应字母异位词本质上是哈希表的拉链法。
将异位字符串通过字母按从小到大的顺序重排得到的值作为index
indexrecombination(strs[i]);if(map.containsKey(index)){map.get(index).add(strs[i]);}else
ArrayList();newList.add(strs[i]);map.put(index,newList);}}return
ArrayList(map.values());}public
strArrstr.toCharArray();Arrays.sort(strArr);return
找出数字连续的最长序列不要求序列元素在原数组中连续的长度。
请你设计并实现时间复杂度为
num:set){if(!set.contains(num-1)){int
length0;while(set.contains(num)){length;num;}resultMath.max(result,length);}}return
在遍历一个数组遍历过程中定义两个指针可以表示为快指针和慢指针、或左指针和右指针。
双指针法快慢指针法在数组和链表的操作中是非常常见的很多考察数组、链表、字符串等操作的面试题都使用双指针法。
这道题目要求在不复制数组的情况下原地操作使所有的0移到数组末尾。
这里使用两个指针慢指针i用于寻找元素0快指针用于寻找0后的第一个非0元素
j要小于等于nums.length,若j后续没有找到合适的非0元素则结束不操作。
i0;inums.length;i){if(nums[i]0){//找到0元素时//查找后续非0元素j的指示int
tempnums[i];nums[i]nums[j];nums[j]temp;}else{//末尾无非0元素。
inums.length;}}}}
保留尽可能高的边界以备更多的储水量所以对于两个边界中较矮的边界进行移动以期待获取一个比当前边界更大的边界。
i0,jheight.length-1,maxS0;while(ij){int
SMath.min(height[i],height[j])*(j-i);maxSMath.max(maxS,S);if(height[i]height[j]){i;}else{j--;}}return
数组中取三个数使其和0每个元素每次只能去一次可以有多少种组合。
已知数组有序且i确定的情况下nums[left]不取重left;
对于nums[i]nums[i1]的情况下nums[i]已经包含了nums[i1]的方式所以nums[i1]时continue
{Arrays.sort(nums);ListListInteger
nums.length-1;i){if(i0nums[i]nums[i-1])
nums.length-1;while(leftright){if(nums[i]nums[left]nums[right]0)
(nums[i]nums[left]nums[right]0)
{//去重result.add(Arrays.asList(nums[i],nums[left],nums[right]));while(leftrightnums[left1]nums[left])
left;while(leftrightnums[right-1]nums[right])
hmax(height[left],height[right])
选中一个柱子作为左边界右边界为该柱子后第一个比它大的值底初始化为该柱子后第一个比它小的值。
注意特别的如4、2、3左边界高4时右边没有比4高的柱子则选择右边最高的柱子作为右边界。
bottomi1;if(height[i]height[bottom]){//找左边界只有一高一低才有可能存在储水左边界int
rightj;//右边最大的值while(jheight.length){//找储水有边界有两种情况
或右边最大的柱子右边没有比左边大的柱子//右边最大值if(height[j]height[right]){rightj;}//右边第一个比它大的值if(height[j]height[i]){rightj;break;}j;}//要使积水则右边界和左边界之间最少有一个位置的空隙保证j合法if(righ***ight.lengthj-i1){//有左右边界及底//纵向计算该范围内的储水量while(bottomright){S(Math.min(height[i],height[right])-height[bottom])*1;//一个单位一个单位蓄水量累加bottom;}iright-1;}}}return
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback