算法基礎十

加一

給定一個由 整數 組成的 非空 數組所表示的非負整數,在該數的基礎上加一。最高位數字存放在數組的首位, 數組中每個元素只存儲單個數字。

示例 1:
輸入:digits = [1,2,3] 輸出:[1,2,4] 解釋:輸入數組表示數字 123。
示例 2:
輸入:digits = [4,3,2,1] 輸出:[4,3,2,2] 解釋:輸入數組表示數字 4321。
示例 3:
輸入:digits = [0]

解題思路:給定數組代表一個十進制數,數組的0下標是十進制的高位。從數組尾部開始遍歷,依次進位。

public int[] plusOne(int[] digits) {for (int i = digits.length - 1; i >= 0; i--) {digits[i]++;digits[i] = digits[i] % 10;if(digits[i] != 0) {return digits;}}digits = new int[digits.length + 1];digits[0] = 1;return digits;}

二進制求和

給你兩個二進制字符串 a 和 b ,以二進制字符串的形式返回它們的和。

示例 1:
輸入:a = “11”, b = “1” 輸出:“100”
示例 2:
輸入:a = “1010”, b = “1011” 輸出:“10101”

    public String addBinary(String a, String b) {StringBuffer ans = new StringBuffer();int n = Math.max(a.length(), b.length()), carry = 0;for (int i = 0; i < n; ++i) {carry += i < a.length() ? (a.charAt(a.length() - 1 - i) - '0') : 0;carry += i < b.length() ? (b.charAt(b.length() - 1 - i) - '0') : 0;ans.append((char) (carry % 2 + '0'));carry /= 2;}if (carry > 0) {ans.append('1');}ans.reverse();return ans.toString();}

x 的平方根

給你一個非負整數 x ,計算并返回 x 的 算術平方根 。由于返回類型是整數,結果只保留 整數部分 ,小數部分將被 舍去 。

示例 1:
輸入:x = 4 輸出:2
示例 2:
輸入:x = 8 輸出:2

public int mySqrt(int x) {if (x == 0) {return 0;}int ans = (int) Math.exp(0.5 * Math.log(x));return (long) (ans + 1) * (ans + 1) <= x ? ans + 1 : ans;}

爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?

示例 1:
輸入:n = 2 輸出:2
示例 2:
輸入:n = 3 輸出:3

解題思路:動態規劃

public int climbStairs(int n) {int p = 0, q = 0, r = 1;for (int i = 1; i <= n; ++i) {p = q; q = r; r = p + q;}return r;}

顏色分類

給定一個包含紅色、白色和藍色、共 n 個元素的數組 nums ,原地對它們進行排序,使得相同顏色的元素相鄰,并按照紅色、白色、藍色順序排列。我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。必須在不使用庫內置的 sort 函數的情況下解決這個問題。

示例 1:
輸入:nums = [2,0,2,1,1,0] 輸出:[0,0,1,1,2,2]
示例 2:
輸入:nums = [2,0,1] 輸出:[0,1,2]

解題思路:計數排序

 public void sortColors(int[] nums) {int n = nums.length;int ptr = 0;for (int i = 0; i < n; ++i) {if (nums[i] == 0) {int temp = nums[i];nums[i] = nums[ptr];nums[ptr] = temp;++ptr;}}for (int i = ptr; i < n; ++i) {if (nums[i] == 1) {int temp = nums[i];nums[i] = nums[ptr];nums[ptr] = temp;++ptr;}}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211994.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211994.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211994.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

YOLO_embedded: YOLO算法快速嵌入式部署

YOLO_embedded&#xff1a; YOLO算法快速嵌入式部署 for UbuntuBased on YOLOXOpenVINO & TensorRT 本項目提供c和python兩種語言&#xff0c;詳情請見各個文件夾下的README.md 安裝OpenVINO 點此進入官網選擇版本進行下載&#xff0c;然后打開install_openvino.sh將相…

ORACLE 19c 統一恢復處于ASM中的CDB含PDB數據文件到某一個文件目錄下面

NOCDB情況下&#xff0c;要把ASM中的文件恢復到文件系統&#xff0c;大家都知道分別設置每個文件的路徑即可&#xff0c;但如果是租戶環境&#xff0c;每個PDB都有不同路徑&#xff0c;而且每個PDB都有SYSTEM&#xff0c;SYSAUX等一些表空降&#xff0c;不可能放在同一個目錄中…

Linux_CentOS_7.9 VNC安裝卸載以及相關配置開機自啟動服務簡易記錄

VNC安裝卸載以及相關配置開機自啟動服務&#xff1a; 查看環境&#xff1a;&#xff08;yum鏡像源配置可以參考我之前文章里面有詳細參考http://t.csdnimg.cn/mzGoI&#xff09; [rootorcl238 ~]# rpm -qa | grep vnc ##查看系統現有VNC軟件版本 gtk-vnc2-0.7.0-3.el7.x86…

道可云元宇宙每日資訊|青島市元宇宙領域新產品推介暨產學研對接會舉行

道可云元宇宙每日簡報&#xff08;2023年12月7日&#xff09;訊&#xff0c;今日元宇宙新鮮事有&#xff1a; 青島市元宇宙領域新產品推介暨產學研對接會舉行 為加快推動青島市元宇宙技術和產業創新&#xff0c;引領下一代互聯網發展&#xff0c;青島市元宇宙領域新產品推介暨…

算法基礎九

螺旋矩陣2 給你一個正整數 n &#xff0c;生成一個包含 1 到 n2 所有元素&#xff0c;且元素按順時針順序螺旋排列的 n x n 正方形矩陣 matrix。 示例 1&#xff1a; 輸入&#xff1a;n 3 輸出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]] 示例 2&#xff1a; 輸入&#xff1a;n …

第12節: Vue3 修飾符

如何在UniApp中使用Vue3框架使用修飾符&#xff1a; <template> <view> <button click"toggleVisibility ^ :disabledisDisabled">點擊切換顯示狀態</button> <text>{{ isVisible ? 顯示 : 隱藏 }}</text> </view> …

簡易加減運算器的制作----數字電路設計(含proteus仿真)

簡易加減運算器的制作 一、功能要求—基本功能 1、自制0-9按鍵&#xff0c;在一個LED數碼管上穩定地顯示當前按下的值。&#xff08;基本功能&#xff09; 2、增加、兩個按鍵&#xff0c;實現0-9兩個一位數的加法運算&#xff0c;同時在兩位LED上穩定地顯示運算結果。&#…

React中每次渲染都會傳入一個新的props.children到子組件?

傳入props.children后, 為什么會導致組件的重新渲染&#xff1f; 問題描述 在 react 中, 我想要對組件的渲染進行優化, 遇到了一個非常意思的問題, 當我向一個組件中傳入了 props.children 之后, 每次父組件重新渲染都會導致這個組件的重新渲染; 它看起來的表現就像是被memo包…

MTU與MSS

MTU&#xff1a;一個網絡包的最大長度&#xff0c;以太網中一般為1500各字節。 MSS&#xff1a;除去頭部之后&#xff0c;一個網絡包所能容納的TCP數據的最大長度。 應用程序調用write后&#xff0c;將要發送的數據被交給TCP/IP協議棧進行。 協議棧不關心應用的數據內容&…

四:爬蟲-Cookie與Session實戰

四&#xff1a;Cookie與Session實戰 ? 在瀏覽網站的過程中&#xff0c;我們經常會遇到需要登錄的情況&#xff0c;有些頁面只有登錄之后才可以訪問。在登錄之后可以連續訪問很多次網站&#xff0c;但是有時候過一段時間就需要重新登錄。還有一些網站&#xff0c;在打開瀏覽器…

c語言歸并排序(詳解)

歸并排序是一種分治算法&#xff0c;它將列表分割成較小的子列表&#xff0c;然后遞歸地對子列表進行排序&#xff0c;最后將這些子列表合并以產生已排序的列表。基本概念包括&#xff1a; 分割&#xff1a;將列表分割成較小的子列表&#xff0c;直到子列表的長度為1或0。排序…

Leetcode—219.存在重復元素II【簡單】

2023每日刷題&#xff08;五十三&#xff09; Leetcode—219.存在重復元素II 實現代碼 class Solution { public:bool containsNearbyDuplicate(vector<int>& nums, int k) {unordered_map<int, int> m;int n nums.size();for(int i 0; i < n; i) {if(m…

vs的生成事件error MSB3073

生成事件設置位于&#xff1a;項目-》屬性-》生成事件&#xff1b; 生成事件有&#xff1a;生成前事件、鏈接前事件、生成后事件 以生成前事件為例&#xff1a;可以用于一些庫文件的配置 COPY ..\dll\*.* .\bin\ MKDIR .\bin\libx COPY ..\dll\libx\*.* .\bin\libx這里是在開…

[Decipher@mailfence.com].faust勒索病毒數據怎么處理|數據解密恢復

導言&#xff1a; 在數字世界的邊緣&#xff0c;[support2022cock.li].faust、[tsai.shenmailfence.com].faust、[Encrypteddmailfence.com].faust、[backupsairmail.cc].faust、[Deciphermailfence.com].faust勒索病毒如同黑暗的幽靈&#xff0c;威脅著我們珍貴的數字財產。本…

漏洞復現-大華dss struts2-045表達式注入漏洞(附漏洞檢測腳本)

免責聲明 文章中涉及的漏洞均已修復&#xff0c;敏感信息均已做打碼處理&#xff0c;文章僅做經驗分享用途&#xff0c;切勿當真&#xff0c;未授權的攻擊屬于非法行為&#xff01;文章中敏感信息均已做多層打馬處理。傳播、利用本文章所提供的信息而造成的任何直接或者間接的…

【webpack】初始化

webpack 舊項目的問題下一代構建工具 Vite 主角 &#xff1a;webpack安裝webpack1&#xff0c;mode的選項2&#xff0c;使用source map 精準定位錯誤行數3&#xff0c;使用watch mode(觀察模式)&#xff0c;自動運行4&#xff0c;使用webpack-dev-server工具&#xff0c;自動刷…

Linux_CentOS_7.9配置oracle sqlplus、rman實現上下按鍵切換歷史命令等便捷效率功能之簡易記錄

配置oracle sqlplus以及rman可以上下按鍵切換歷史命令等便捷效率功能 設置前提是已經yum安裝了rlwrap軟件具體軟件下載及配置參考文章http://t.csdnimg.cn/iXuVK su - oracleVim .bash_profile ## 文件中增加如下的別名設置 ---------------- alias sqlplusrlwrap sqlplus…

c++的算術生成算法

#include<numeric>//算術生成算法頭文件 要加的頭文件#include<numeric> accumulate 是 C 標準庫中的一個算法函數&#xff0c;用于計算給定范圍內的數值之和&#xff0c;它位于 <numeric> 頭文件中。它的函數原型如下&#xff1a; template <class In…

Matlab之帶時區的日期時間數據和不帶時區的日期時間數據相互轉換方法

使用datetime和datetimezone函數 通過使用datetime和datetimezone函數&#xff0c;可以將帶時區的日期時間數據轉換為不帶時區的數據&#xff0c;或者將不帶時區的日期時間數據轉換為帶時區的數據。這樣可以滿足坐標區的配置要求。 1、將帶時區的日期時間數據轉換為不帶時區的…

理解IoC容器初始化

問題&#xff1a;當自己面試或者背誦八股文時&#xff0c;會背到各種各樣的spring底層的東西&#xff0c;自己越看越迷糊。 OS&#xff1a;不知道兄弟們是不是也會這樣&#xff1f;如果大家沒有說明我太菜了。 原因&#xff1a;就是自己學的框架越來越多&#xff0c;很多框架…