建設(shè)網(wǎng)站的規(guī)則廣州私人做網(wǎng)站
只出現(xiàn)一次的數(shù)字(位運(yùn)算、數(shù)組)
給定一個(gè)非空整數(shù)數(shù)組,除了某個(gè)元素只出現(xiàn)一次以外,其余每個(gè)元素均出現(xiàn)兩次。找出那個(gè)只出現(xiàn)了一次的元素。
說(shuō)明:
你的算法應(yīng)該具有線性時(shí)間復(fù)雜度。 你可以不使用額外空間來(lái)實(shí)現(xiàn)嗎?
示例 1:
輸入: [2,2,1] 輸出: 1
示例 2:
輸入: [4,1,2,1,2] 輸出: 4
解答:
class Solution {public int singleNumber(int[] nums) {int res = 0;for (int num : nums) {res ^= num;}return res;}
}
輸出每天是應(yīng)該學(xué)習(xí)還是休息還是鍛煉(數(shù)學(xué))
30天中,從第一天開(kāi)始五天學(xué)習(xí),一天休息、一天鍛煉,輸出每天是應(yīng)該學(xué)習(xí)還是休息還是鍛煉
public class HelloWorld {public static void main(String []args) {int n1=0,n2=0,n3=0,i;for(i=1;i<=30;i++){if(n1<5){System.out.println("學(xué)習(xí)");n1++;continue;}else{System.out.println("休息");System.out.println("鍛煉");n1=0;i++;}}}
}
將有序數(shù)組轉(zhuǎn)換為二叉搜索樹(shù)(樹(shù)、二叉搜索樹(shù))
給你一個(gè)整數(shù)數(shù)組 nums ,其中元素已經(jīng)按 升序 排列,請(qǐng)你將其轉(zhuǎn)換為一棵 高度平衡 二叉搜索樹(shù)。
**高度平衡 **二叉樹(shù)是一棵滿足「每個(gè)節(jié)點(diǎn)的左右兩個(gè)子樹(shù)的高度差的絕對(duì)值不超過(guò) 1 」的二叉樹(shù)。
示例 1:
輸入:nums = [-10,-3,0,5,9] 輸出:[0,-3,9,-10,null,5] 解釋:[0,-10,5,null,-3,null,9] 也將被視為正確答案:
示例 2:
輸入:nums = [1,3] 輸出:[3,1] 解釋:[1,3] 和 [3,1] 都是高度平衡二叉搜索樹(shù)。
提示:
- 1 <= nums.length <= 104
- -104 <= nums[i] <= 104
- nums 按 嚴(yán)格遞增 順序排列
解答:
public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) {this.val = val;}TreeNode(int val, TreeNode left, TreeNode right) {this.val = val;this.left = left;this.right = right;}
}
class Solution {public TreeNode sortedArrayToBST(int[] nums) {return traversal(nums, 0, nums.length - 1);}public TreeNode traversal(int[] nums, int left, int right) {if (left > right)return null;int mid = left + ((right - left) / 2);TreeNode node = new TreeNode(nums[mid]);node.left = traversal(nums, left, mid - 1);node.right = traversal(nums, mid + 1, right);return node;}
}
本文內(nèi)容到此結(jié)束了,
如有收獲歡迎點(diǎn)贊👍收藏💖關(guān)注??,您的鼓勵(lì)是我最大的動(dòng)力。
如有錯(cuò)誤?疑問(wèn)💬歡迎各位指出。
主頁(yè):共飲一杯無(wú)的博客匯總👨?💻保持熱愛(ài),奔赴下一場(chǎng)山海。🏃🏃🏃