摘錄
一個(gè)有判別力的思考者要超越自己已有的信息,發(fā)掘隱藏在信息表面下的真正含義,以理解信息的本質(zhì)為目標(biāo)而不是被表面的印象和風(fēng)格所迷惑。以下是一些思考的技巧:
- 避免把相關(guān)關(guān)系推論為因果關(guān)系
- 要求關(guān)鍵術(shù)語(yǔ)和概念有操作性定義,使其含義達(dá)成一致意見(jiàn)
- 對(duì)已提出的解釋尋求其他可能的解釋,特別是那些有利于提案人的解釋
- 質(zhì)疑關(guān)于效果的聲明,考慮到安慰劑效應(yīng),辦法是找到比較的基準(zhǔn)
- 成為思想開(kāi)明而又善于質(zhì)疑的人,認(rèn)識(shí)到大多數(shù)結(jié)論都具有嘗試性和不確定性;尋找新的證據(jù)來(lái)減少你的不確定性,同時(shí)使自己能不斷變革和修正自己的觀點(diǎn)
- 敢于向流傳廣泛但證據(jù)不足的觀點(diǎn)挑戰(zhàn),形成理性的主見(jiàn),避免盲目從眾
有序數(shù)組的平方
- 題目
給你一個(gè)按 非遞減順序 排序的整數(shù)數(shù)組 nums,
返回 每個(gè)數(shù)字的平方 組成的新數(shù)組,要求也按 非遞減順序 排序。
示例 1:
輸入:nums = [-4,-1,0,3,10]
輸出:[0,1,9,16,100]
解釋:平方后,數(shù)組變?yōu)?[16,1,0,9,100],排序后,數(shù)組變?yōu)?[0,1,9,16,100]
示例 2:
輸入:nums = [-7,-3,2,3,11]
輸出:[4,9,9,49,121]
提示:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 已按 非遞減順序 排序
進(jìn)階:
請(qǐng)你設(shè)計(jì)時(shí)間復(fù)雜度為 O(n) 的算法解決本問(wèn)題
方法一
- 方法:結(jié)合向量基礎(chǔ)用法得出
- 代碼
vector<int> sortedSquares(vector<int>& nums) {
vector<int> newArr(nums); // 這種復(fù)制的話不會(huì)影響原數(shù)組
for (int i = 0; i < nums.size(); i++) {
newArr[i] = nums[i] * nums[i];
}
sort(newArr.begin(), newArr.end());
return newArr;
}
時(shí)間復(fù)雜度:基于sort
空間復(fù)雜度:基于sort
方法二
方法:雙指針?lè)ㄖ笥抑羔樂(lè)ǎ^尾指針?lè)ǎ?/p>
-
過(guò)程:可以參考大佬的動(dòng)圖
頭尾指針?lè)?/div>代碼
vector<int> sortedSquares(vector<int>& nums) { vector<int> newArr(nums.size(), 0); int left = 0; int right = nums.size() - 1; int i = nums.size() - 1; for ( ; left <= right; ) { // 可以通過(guò)遍歷小數(shù)組,確定循環(huán)終止條件是否要帶等號(hào) if (nums[left] * nums[left] < nums[right] * nums[right]) { newArr[i] = nums[right] * nums[right]; right--; } else { newArr[i] = nums[left] * nums[left]; left++; } i--; } return newArr; }時(shí)間復(fù)雜度:O(n)
空間復(fù)雜度:O(n)最后編輯于 :?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。相關(guān)閱讀更多精彩內(nèi)容
- 977 Squares of a Sorted Array 有序數(shù)組的平方 Description:Given a...
- 這是悅樂(lè)書(shū)的第369次更新,第397篇原創(chuàng) 01看題和準(zhǔn)備 今天介紹的是LeetCode算法題中Easy級(jí)別的第2...
- 給定兩個(gè)有序整數(shù)數(shù)組 nums1 和 nums2,將 nums2 合并到 nums1 中,使得 num1 成為一個(gè)...
- LeetCode 有序數(shù)組的平方 [簡(jiǎn)單] 給定一個(gè)按非遞減順序排序的整數(shù)數(shù)組 A,返回每個(gè)數(shù)字的平方組成的新數(shù)組...
- 一、題目 LeetCode-80. 刪除有序數(shù)組中的重復(fù)項(xiàng) II鏈接:https://leetcode-cn.co...
