WWW.YOUINFO.SITE
标签聚合 排序

/tag/排序

LinuxDo 最新话题 · 2026-05-23 08:34:43+08:00 · tech

力扣 LeetCode 1752. 检查数组是否经排序和轮转得到 - 力扣(LeetCode) 1752. 检查数组是否经排序和轮转得到 - 给你一个数组 nums 。nums 的源数组中,所有元素与 nums 相同,但按非递减顺序排列。 如果 nums 能够由源数组轮转若干位置(包括 0 个位置)得到,则返回 true ;否则,返回 false 。 源数组中可能存在 重复项 。 注意:数组 A 在轮转 x 个位置后得到长度相同的数组 B ,使得对于每一个有效的下标 i,满足 B[i] == A[(i+x) % A.length]。 示例 1: 输入:nums =... 思路 遍历一遍 如果出现了一次以上降序,说明无法通过旋转得到 如果出现了一次降序,并且第一个值小于最后一个值,说明无法通过旋转得到 其他情况可以通过旋转得到。 代码 class Solution { public boolean check(int[] nums) { boolean ex = false; int last = Integer.MIN_VALUE; for (int num : nums) { if (num < last) { if (ex) { return false; } ex = true; } last = num; } return !ex || last <= nums[0]; } } 1 个帖子 - 1 位参与者 阅读完整话题

LinuxDo 最新话题 · 2026-05-22 09:05:01+08:00 · tech

力扣 LeetCode 33. 搜索旋转排序数组 - 力扣(LeetCode) 33. 搜索旋转排序数组 - 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 向左旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 下标 3 上向左旋转后可能变为 [4,5,6,7,0,1,2]... 思路 感觉好像是前几天刚做过的一道题的简化版?变形的二分。 代码 class Solution { public int search(int[] nums, int target) { int n = nums.length; int l = 0, r = n - 1; while (l < r) { int m = l + r >> 1; if (nums[m] == target) { return m; } if (nums[l] == target) { return l; } if (nums[r] == target) { return r; } if (nums[m] > nums[l]) { if (nums[m] > target && nums[l] < target) { r = m - 1; } else { l = m + 1; } } else { if (nums[m] < target && nums[r] > target) { l = m + 1; } else { r = m - 1; } } } return nums[l] == target ? l : -1; } } 2 个帖子 - 2 位参与者 阅读完整话题

IT之家 · 2026-05-20 08:57:29+08:00 · tech

IT之家 5 月 20 日消息,科技媒体 Windows Latest 今天(5 月 20 日)发布博文,报道称在 Experimental 频道 Windows 11 Build 26300.8493 预览版中, 微软调整搜索排序逻辑,会优先显示本地文件和应用。 IT之家曾于 5 月 16 日报道,微软在 Windows 11 预览版中,宣布改进搜索排序逻辑: 微软开始调整 Windows 搜索框,让其更贴近用户需求,首先从更易找到文件和应用程序入手:当文件或应用与搜索内容的匹配度强于网页建议时,它们会更常出现在网页建议之前。微软表示,在后续版本中还将看到更多相关性改进。 该媒体指出 Windows 搜索在过去几年最令人诟病的地方之一,在于对网页结果偏重过高。很多用户只是想打开一个应用,或找到保存在电脑里的文件,却常常先看到不相关的在线推荐。 用户此前搜索 Terminal 会优先跳出网页搜索结果 例如用户搜索 Terminal,在搜索结果中,会优先显示 Bing 网页搜索结果;例如搜索 VS Code,在结果中会有 10 多条网页结果。 在最新 Windows 11 预览版中搜索 Terminal 会优先本地应用 该媒体认为这种排序方式不仅拉低效率,也让搜索界面显得拥挤,削弱了本地搜索原本应有的快捷价值。 而在最新 Windows 11 Build 26300.8493 预览版中,微软调整搜索体验,当本地内容匹配度更高时,文件和应用会更稳定地排在网页建议之前。 如果用户输入某个应用名称,或最近使用过的文档名,Windows 11 预计能更快呈现对应内容,减少无关网页内容的干扰。 一个典型例子是搜索影片相关文件时,系统过去可能先给出电影网页结果,现在则会优先显示本地文件。 不过,微软并没有打算移除网页搜索,Windows 11 搜索会保留网页服务。当前如果用户想关闭网页搜索,仍需修改注册表,设置应用里还没有对应开关。 这项功能目前仍处于实验性推送阶段,微软也表示这只是搜索优化的开始,未来可能继续改进 AI 辅助排序、自然语言理解、文件索引性能和个性化推荐。

LinuxDo 最新话题 · 2026-05-16 14:20:49+08:00 · tech

现在的排序算法好像必须要有新的回复帖子才能往前排,但投票贴(即使是投票率非常高的帖子),很多人也只投票不回复,那投不了几张就沉下去了,达不到一个大概统计的效果(比如进来70个人,有55个人投票,但没有人回复,那就基本止于这70个人的浏览量了,就沉下去了,达不到一个统计投票的效果)。 所以,对于投票贴,能否根据【投票率+投票量】进行一个排序加权,比如在达到一个基准投票率的基础上,每增加10个投票,就等价于一次回复,让这个投票贴活得一次靠前的机会,从而能把有价值的投票贴筛选出来。 1 个帖子 - 1 位参与者 阅读完整话题

LinuxDo 最新话题 · 2026-05-16 10:09:04+08:00 · tech

力扣 LeetCode 154. 寻找旋转排序数组中的最小值 II - 力扣(LeetCode) 154. 寻找旋转排序数组中的最小值 II - 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到: * 若旋转 4 次,则可以得到 [4,5,6,7,0,1,4] * 若旋转 7 次,则可以得到 [0,1,4,4,5,6,7] 注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1],... 什么,还有第二关 (ᵕ—ᴗ—) 思路 和上一题不一样的是,这题给出的旋转数组中可能有重复数字出现,如果用二分思路的话策略得调整一下。 其实我们可以每次迭代中先让左右指针先跳过相同的数字,然后再在 [l, r] 范围内进行二分,如果中间元素 \gt nums[r] ,说明最小元素在右侧,缩减左边界。否则缩减右边界。 如此逼近直至左右指针相遇。 代码 class Solution { public: int findMin(vector<int>& nums) { // 这回可能有重复数字了 // 其实输入规模并不大,我是不是可以直接用 min?(≖ᴗ≖ ) int n=nums.size(); int l=0,r=n-1; int mid=-1; while(true){ // 每次 l, r 先跳过相同的数字 while(l<r&&l<n-1&&nums[l]==nums[l+1]){ l++; } while(l<r&&r>0&&nums[r]==nums[r-1]){ r--; } // cout<<"L: "<<l<<" R: "<<r<<endl; // 然后再二分找 mid=((l+r)>>1); if(l==r){ // 两指针相遇则找到最小值 return nums[mid]; } if(nums[mid]>nums[r]){ // 比区间右侧元素大则缩减左边界 l=mid+1; }else{ r=mid; } } return -1; } }; 4 个帖子 - 3 位参与者 阅读完整话题

LinuxDo 最新话题 · 2026-05-15 09:06:30+08:00 · tech

力扣 LeetCode 153. 寻找旋转排序数组中的最小值 - 力扣(LeetCode) 153. 寻找旋转排序数组中的最小值 - 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: * 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] * 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] 注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2],... 思路 变形的二分还是二分。这次二分的目标是找到单调性改变的那个位置。 另外这翻译还是有点别扭。不如直接说“输入数组是某个长度为n的升序数组旋转[1..n]次的结果”。 代码 class Solution { public int findMin(int[] nums) { int l = 0; int r = nums.length - 1; while (l < r) { int mid = (l + r) >> 1; if (nums[mid] < nums[r]) { r = mid; } else { l = mid + 1; } } return nums[l]; } } 1 个帖子 - 1 位参与者 阅读完整话题

V2EX - 技术 · 2026-05-07 18:58:37+08:00 · tech

今天下午赶需求,让 GPT 帮我重构一个排序逻辑,一开始还挺正常,给出来的代码一次过。 结果中间有个 bug 它没看出来,我顺手打了一句“你 tm 是不是眼瞎,这都能写错”。然后让它再改一版。 好家伙= = 第二次给出来的代码,引入了三个新 bug ,连最基本的边界条件都漏了。我还以为是它复读旧答案,又多问了两遍,结果一次比一次离谱,最后一次直接给我返回一个死循环。 刚开始我还骂它“废物”,后来发现不对劲:同一个问题,语气越差,答案越智障。 我甚至试过直接复制之前它写对的提示词重新问,没有脏话,它又能跑通了。 这不是它记仇,就是它 ai 真的会因为你语气不好就“摆烂”。 现在我改需求都先深吸一口气,发个“请帮忙”开头。不是我有素质,是真的怕它给我整出更多 bug 。 有人遇到过吗?还是我幻觉?

V2EX - 技术 · 2026-05-07 12:02:26+08:00 · tech

今天下午赶需求,让 GPT 帮我重构一个排序逻辑,一开始还挺正常,给出来的代码一次过。 结果中间有个 bug 它没看出来,我顺手打了一句“你 tm 是不是眼瞎,这都能写错”。然后让它再改一版。 好家伙= = 第二次给出来的代码,引入了三个新 bug ,连最基本的边界条件都漏了。我还以为是它复读旧答案,又多问了两遍,结果一次比一次离谱,最后一次直接给我返回一个死循环。 刚开始我还骂它“废物”,后来发现不对劲:同一个问题,语气越差,答案越智障。 我甚至试过直接复制之前它写对的提示词重新问,没有脏话,它又能跑通了。 这不是它记仇,就是它 ai 真的会因为你语气不好就“摆烂”。 现在我改需求都先深吸一口气,发个“请帮忙”开头。不是我有素质,是真的怕它给我整出更多 bug 。 有人遇到过吗?还是我幻觉?

V2EX - 技术 · 2026-05-07 11:02:26+08:00 · tech

今天下午赶需求,让 GPT 帮我重构一个排序逻辑,一开始还挺正常,给出来的代码一次过。 结果中间有个 bug 它没看出来,我顺手打了一句“你 tm 是不是眼瞎,这都能写错”。然后让它再改一版。 好家伙= = 第二次给出来的代码,引入了三个新 bug ,连最基本的边界条件都漏了。我还以为是它复读旧答案,又多问了两遍,结果一次比一次离谱,最后一次直接给我返回一个死循环。 刚开始我还骂它“废物”,后来发现不对劲:同一个问题,语气越差,答案越智障。 我甚至试过直接复制之前它写对的提示词重新问,没有脏话,它又能跑通了。 这不是它记仇,就是它 ai 真的会因为你语气不好就“摆烂”。 现在我改需求都先深吸一口气,发个“请帮忙”开头。不是我有素质,是真的怕它给我整出更多 bug 。 有人遇到过吗?还是我幻觉?

V2EX - 技术 · 2026-05-07 10:02:26+08:00 · tech

今天下午赶需求,让 GPT 帮我重构一个排序逻辑,一开始还挺正常,给出来的代码一次过。 结果中间有个 bug 它没看出来,我顺手打了一句“你 tm 是不是眼瞎,这都能写错”。然后让它再改一版。 好家伙= = 第二次给出来的代码,引入了三个新 bug ,连最基本的边界条件都漏了。我还以为是它复读旧答案,又多问了两遍,结果一次比一次离谱,最后一次直接给我返回一个死循环。 刚开始我还骂它“废物”,后来发现不对劲:同一个问题,语气越差,答案越智障。 我甚至试过直接复制之前它写对的提示词重新问,没有脏话,它又能跑通了。 这不是它记仇,就是它 ai 真的会因为你语气不好就“摆烂”。 现在我改需求都先深吸一口气,发个“请帮忙”开头。不是我有素质,是真的怕它给我整出更多 bug 。 有人遇到过吗?还是我幻觉?