LeetCode //C - 962. Maximum Width Ramp

LeetCode //C - 962. Maximum Width Ramp

962. Maximum Width Ramp

A ramp in an integer array nums is a pair (i, j) for which i < j and nums[i] <= nums[j]. The width of such a ramp is j - i.

Given an integer array nums, return the maximum width of a ramp in nums. If there is no ramp in nums, return 0.
 

Example 1:
Input: nums = [6,0,8,2,1,5]
Output: 4
Explanation: The maximum width ramp is achieved at (i, j) = (1, 5): nums[1] = 0 and nums[5] = 5.
Example 2:
Input: nums = [9,8,1,0,1,9,4,0,4,1]
Output: 7
Explanation: The maximum width ramp is achieved at (i, j) = (2, 9): nums[2] = 1 and nums[9] = 1.
Constraints:
  • 2 < = n u m s . l e n g t h < = 5 ∗ 10 4 2 <= nums.length <= 5 * 10^4 2<=nums.length<=5∗104
  • 0 < = n u m s [ i ] < = 5 ∗ 10 4 0 <= nums[i] <= 5 * 10^4 0<=nums[i]<=5∗104

From: LeetCode
Link: 962. Maximum Width Ramp


Solution:

Ideas:
  • Build a monotonic decreasing stack of indices from left to right.
    → Stack keeps positions where nums[i] is a new minimum.
  • A smaller left value has the best chance to form the widest ramp later.
  • Traverse from the right to left (j from end to start):
    → If nums[stack[top]] <= nums[j], then (stack[top], j) forms a valid ramp.
  • Calculate width j - stack[top], update maximum width.
  • Pop the index from the stack because earlier j will produce smaller widths.
  • Continue until stack is empty or j is done.
  • Return the maximum width found.
Code:
intmaxWidthRamp(int* nums,int numsSize){if(numsSize <2)return0;// Monotonic decreasing stack of indicesint*stack =(int*)malloc(numsSize *sizeof(int));int top =-1;// Build stack: store indices where nums[i] is a new minimum from the leftfor(int i =0; i < numsSize;++i){if(top ==-1|| nums[i]< nums[stack[top]]){ stack[++top]= i;}}int maxWidth =0;// Scan from the right, try to widen ramps using the stackfor(int j = numsSize -1; j >=0&& top >=0;--j){// While current value can form a ramp with stack[top]while(top >=0&& nums[stack[top]]<= nums[j]){int width = j - stack[top];if(width > maxWidth) maxWidth = width;--top;// Pop because any earlier j will only give smaller width}}free(stack);return maxWidth;}

Read more

一文读懂OpenRouter:全球AI模型的“超级接口”,很多免费模型

一文读懂OpenRouter:全球AI模型的“超级接口”,很多免费模型

在人工智能技术百花齐放的今天,开发者面临着一个“幸福的烦恼”:市面上有GPT-4、Claude、Gemini、Kimi、GLM等众多顶尖大模型,但每个平台都需要单独注册、管理API密钥、对接不同接口文档,极大地增加了开发成本与技术门槛。 OpenRouter的出现,正是为了解决这一痛点。它不仅是一个AI模型聚合平台,更被业界视为全球AI模型竞争的“风向标”。 1. 什么是OpenRouter? OpenRouter是一个开源的AI模型聚合平台,它像一个“超级接口”或“路由器”,将全球超过300个主流AI模型(来自400多个提供商)整合在一起,为开发者提供统一的API接口。 其核心价值在于: * 统一API接口:开发者只需使用一套API密钥,即可调用包括OpenAI、Anthropic、Google、以及中国头部厂商(如MiniMax、月之暗面、智谱AI)在内的所有模型,无需为每个模型单独适配接口。 * 智能路由与成本优化:平台支持智能路由,可自动匹配性价比最高的模型,或根据开发者需求手动切换。其采用纯按量付费模式,无月费或最低消费,价格通常与官方持平甚至更低。 * 零

By Ne0inhk
figma + claude + weavy AI :从会用到用好

figma + claude + weavy AI :从会用到用好

Google ai studio + figma + claude.ai + cosmos + Design with Weavy AI 这套头脑风暴工具看完后,你一定可从其中悟出独特、见解,并为之惊讶。我们不需要自己动手去建房子,我们可以借助不同的工具,去找找灵感,为自己创造东西,自然而然的知道自己的感受,和想要的感受。 1 / GoogleAIStudio 端到端 制定原型 GoogleAIStudio非常好,因为它能端到端完成。然后我发现Gemini在界面设计上真的很厉害!(本次以开发一款音乐日记讲述全流程)。 2 / claude.ai 制定品牌指南 (生成品牌指南 guidelines ) 先谈谈设计思想。 就像电影和电视剧有开头、中间、结尾一样,我们现在还不太在意中间和结尾。用户他们不应该觉得我们在抢他们的注意力,或者强迫他们。用户更不愿意看到一堆广告和各种乱七八糟的东西。 很多人,觉得品牌指南听起来很像企业用语,但我认为如claude、gemin这些头脑风暴工具一定能帮助我们找到想要的点。利用claude制定品牌指南,自己想要什么,我们可以看看这个,

By Ne0inhk
拒绝 AI 盲目梭哈:拆解 Garry Tan 的 gstack 架构逻辑

拒绝 AI 盲目梭哈:拆解 Garry Tan 的 gstack 架构逻辑

拒绝 AI 盲目梭哈:拆解 Garry Tan 的 gstack 架构逻辑 YC 的 Garry Tan 把他那套压箱底的 AI 开发流开源了,名字很直白,叫 gstack。看了一圈源码,这东西的本质不是什么自动化写代码的脚本,而是给 Claude Code 这种暴力工具装上了一个基于现代软件工程流程的约束框架。它把 Claude 从一个随时可能失控的单兵,强行捏合成了一个由 CEO、工程经理和 QA 组成的虚拟公司。 如果你觉得现在的 AI 编程只是在玩简单的 Prompt 对话,那 gstack 的思路可能会让你清醒一点:它不是在教 AI 怎么写代码,而是在教 AI 怎么像个正经的工程团队一样协同。我看重的是它对冲动编码的抑制,这才是架构师该有的思维。 https:

By Ne0inhk

【人工智能】L站,Linux.do(现名Pandora)火爆的原因

Linux.do(现名Pandora)火爆的原因主要有以下几点: 1.专注AI领域 作为国内首个以人工智能为主题的中文社区,Linux.do聚焦AI技术、模型应用、资源分享等热点话题。用户可在此获取前沿的AI工具、教程、开源项目,满足技术爱好者和从业者的需求,尤其在ChatGPT、Claude等模型的使用与逆向研究方面,成为国内重要的交流平台。 2.开源共享精神 创办者是PandoraNext、JetBrains等开源项目的核心开发者,社区倡导“开源、共享、协作”的理念,鼓励用户分享技术成果、资源链接和实践经验。这种开放氛围吸引了大量技术爱好者,形成良性循环,推动社区快速发展。 3.活跃的用户群体 社区用户涵盖程序员、AI开发者、科研人员等,日活用户超1万,注册用户快速增长。用户互动频繁,话题覆盖技术讨论、资源互换、经验分享等,形成了紧密的交流网络,新用户能快速融入并获取价值。 4.实用资源与福利 社区成员自发整理并分享大量免费或低成本的AI资源,如模型API接口、工具包、

By Ne0inhk