中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

外包軟件開發(fā)一鍵優(yōu)化軟件

外包軟件開發(fā),一鍵優(yōu)化軟件,app使用什么做的網(wǎng)站嗎,濟(jì)南專業(yè)網(wǎng)站制作刷題順序及思路來源于代碼隨想錄,網(wǎng)站地址:https://programmercarl.com 202. 快樂數(shù) 編寫一個算法來判斷一個數(shù) n 是不是快樂數(shù)。 「快樂數(shù)」 定義為: 對于一個正整數(shù),每一次將該數(shù)替換為它每個位置上的數(shù)字的平方和。然后重復(fù)…

刷題順序及思路來源于代碼隨想錄,網(wǎng)站地址:https://programmercarl.com

202.?快樂數(shù)?

編寫一個算法來判斷一個數(shù)?n?是不是快樂數(shù)。

「快樂數(shù)」?定義為:

  • 對于一個正整數(shù),每一次將該數(shù)替換為它每個位置上的數(shù)字的平方和。
  • 然后重復(fù)這個過程直到這個數(shù)變?yōu)?1,也可能是?無限循環(huán)?但始終變不到 1。
  • 如果這個過程?結(jié)果為?1,那么這個數(shù)就是快樂數(shù)。

如果?n?是?快樂數(shù)?就返回?true?;不是,則返回?false?。

輸入:n = 19
輸出:true
解釋:
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;/*** @author light* @Description 快樂數(shù)* 編寫一個算法來判斷一個數(shù) n 是不是快樂數(shù)。** (題目中說了會 無限循環(huán),那么也就是說求和的過程中,sum會重復(fù)出現(xiàn),這對解題很重要!* @create 2023-08-02 11:30*/
public class IsHappyTest {public static void main(String[] args) {Scanner input=new Scanner(System.in);int n=input.nextInt();boolean res=isHappy(n);System.out.println(res);}public static boolean isHappy(int n) {Set<Integer> set=new HashSet<>();while(n!=1&&!set.contains(n)){set.add(n);n=getNextNum(n);}return n==1;}private static int getNextNum(int n) {int sum=0;int temp;while(n!=0){temp=n%10;sum+=temp*temp;n=n/10;}return sum;}
}

1.?兩數(shù)之和

給定一個整數(shù)數(shù)組?nums?和一個整數(shù)目標(biāo)值?target,請你在該數(shù)組中找出?和為目標(biāo)值?target? 的那?兩個?整數(shù),并返回它們的數(shù)組下標(biāo)。

你可以假設(shè)每種輸入只會對應(yīng)一個答案。但是,數(shù)組中同一個元素在答案里不能重復(fù)出現(xiàn)。

你可以按任意順序返回答案。

輸入:nums = [2,7,11,15], target = 9
輸出:[0,1]
解釋:因?yàn)?nums[0] + nums[1] == 9 ,返回 [0, 1] 。
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;/*** @author light* @Description 兩數(shù)之和** 什么時候使用哈希法:需要查詢一個元素是否出現(xiàn)過,或一個元素是否在集合里的時候,需要考慮哈希法* @create 2023-08-02 11:58*/
public class TwoSumTest {public static void main(String[] args) {Scanner input=new Scanner(System.in);int n=input.nextInt();int[] nums=new int[n];for (int i = 0; i < nums.length; i++) {nums[i]=input.nextInt();}int target=input.nextInt();int[] res=twoSum(nums,target);System.out.println(Arrays.toString(res));}public static int[] twoSum(int[] nums, int target) {Map<Integer,Integer> map=new HashMap<>();int[] res=new int[2];int temp;for (int i = 0; i < nums.length; i++) {temp=target-nums[i];if(map.containsKey(temp)){res[0]=i;res[1]=map.get(temp);}//key:數(shù)組元素值;value:數(shù)組元素下標(biāo)map.put(nums[i],i);}return res;}
}

454.?四數(shù)相加 II

給你四個整數(shù)數(shù)組?nums1、nums2、nums3?和?nums4?,數(shù)組長度都是?n?,請你計(jì)算有多少個元組?(i, j, k, l)?能滿足:

  • 0 <= i, j, k, l < n
  • nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0
輸入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]
輸出:2
解釋:
兩個元組如下:
1. (0, 0, 0, 1) -> nums1[0] + nums2[0] + nums3[0] + nums4[1] = 1 + (-2) + (-1) + 2 = 0
2. (1, 1, 0, 0) -> nums1[1] + nums2[1] + nums3[0] + nums4[0] = 2 + (-1) + (-1) + 0 = 0
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;/*** @author light* @Description 四數(shù)相加 II** @create 2023-08-02 12:30*/
public class FourSumCountTest {public static void main(String[] args) {Scanner input=new Scanner(System.in);int n=input.nextInt();int[] nums1=new int[n];int[] nums2=new int[n];int[] nums3=new int[n];int[] nums4=new int[n];for (int i = 0; i < nums1.length; i++) {nums1[i]=input.nextInt();}for (int i = 0; i < nums2.length; i++) {nums2[i]=input.nextInt();}for (int i = 0; i < nums3.length; i++) {nums3[i]=input.nextInt();}for (int i = 0; i < nums4.length; i++) {nums4[i]=input.nextInt();}int res=fourSumCount(nums1,nums2,nums3,nums4);System.out.println(res);}public static int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {Map<Integer,Integer> map=new HashMap<>();int count=0;int temp1;int temp2;for (int i = 0; i < nums1.length; i++) {for (int j = 0; j < nums2.length; j++) {temp1=nums1[i]+nums2[j];map.put(temp1,map.getOrDefault(temp1,0)+1);}}for (int i = 0; i < nums3.length; i++) {for (int j = 0; j < nums4.length; j++) {temp2=0-(nums3[i]+nums4[j]);if(map.containsKey(temp2)){count+=map.get(temp2);}}}return count;}
}

383.?贖金信

給你兩個字符串:ransomNote?和?magazine?,判斷?ransomNote?能不能由?magazine?里面的字符構(gòu)成。

如果可以,返回?true?;否則返回?false?。

magazine?中的每個字符只能在?ransomNote?中使用一次。

輸入:ransomNote = "a", magazine = "b"
輸出:false
import java.util.Scanner;/*** @author light* @Description 贖金信* @create 2023-08-02 13:10*/
public class CanConstructTest {public static void main(String[] args) {Scanner input=new Scanner(System.in);String ransomNote=input.next();String magazine=input.next();boolean res=canConstruct(ransomNote,magazine);System.out.println(res);}public static boolean canConstruct(String ransomNote, String magazine) {if(magazine.length()<ransomNote.length()){return false;}int[] nums=new int[26];for (int i = 0; i < magazine.length(); i++) {nums[magazine.charAt(i)-'a']++;}for (int i = 0; i < ransomNote.length(); i++) {nums[ransomNote.charAt(i)-'a']--;if(nums[ransomNote.charAt(i)-'a']<0){return false;}}return true;}
}

15.?三數(shù)之和

給你一個整數(shù)數(shù)組?nums?,判斷是否存在三元組?[nums[i], nums[j], nums[k]]?滿足?i != j、i != k?且?j != k?,同時還滿足?nums[i] + nums[j] + nums[k] == 0?。請

你返回所有和為?0?且不重復(fù)的三元組。

注意:答案中不可以包含重復(fù)的三元組。

輸入:nums = [-1,0,1,2,-1,-4]
輸出:[[-1,-1,2],[-1,0,1]]
解釋:
nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0 。
nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0 。
nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0 。
不同的三元組是 [-1,0,1] 和 [-1,-1,2] 。
注意,輸出的順序和三元組的順序并不重要。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;/*** @author light* @Description 三數(shù)之和*  * (采用雙指針法* @create 2023-08-02 13:31*/
public class ThreeSumTest {public static void main(String[] args) {Scanner input=new Scanner(System.in);int n=input.nextInt();int[] nums=new int[n];for (int i = 0; i < nums.length; i++) {nums[i]=input.nextInt();}List<List<Integer>> list=threeSum(nums);System.out.println(list);}public static List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> res=new ArrayList<>();//先對數(shù)組進(jìn)行排序Arrays.sort(nums);for (int i = 0; i < nums.length; i++) {if(nums[i]>0){return res;}//對a去重 (a+b+c=0)//因?yàn)橐呀?jīng)排序過了,只要a前面有一樣的,接下來的abc要么是和前面重復(fù)的,// 要么就找不到這組了。bc同理只要重復(fù)一次就重復(fù)了int left=i+1;int right= nums.length-1;if(i>0&&nums[i]==nums[i-1]){continue;}while(right>left){if(nums[i]+nums[left]+nums[right]>0){right--;} else if (nums[i]+nums[left]+nums[right]<0) {left++;}else{//找到一對三元組,將三元組加入集合中res.add(Arrays.asList(nums[i],nums[left],nums[right]));//對bc去重while(right>left&&nums[left]==nums[left+1]){left++;}while(right>left&&nums[right]==nums[right-1]){right--;}//找到三元組后left和right同時移動left++;right--;}}}return res;}
}

18.?四數(shù)之和

給你一個由?n?個整數(shù)組成的數(shù)組?nums?,和一個目標(biāo)值?target?。請你找出并返回滿足下述全部條件且不重復(fù)的四元組?[nums[a], nums[b], nums[c], nums[d]]?(若兩個四元組元素一一對應(yīng),則認(rèn)為兩個四元組重復(fù)):

  • 0 <= a, b, c, d?< n
  • a、b、c?和?d?互不相同
  • nums[a] + nums[b] + nums[c] + nums[d] == target

你可以按?任意順序?返回答案 。

輸入:nums = [1,0,-1,0,-2,2], target = 0
輸出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;/*** @author light* @Description 四數(shù)之和** (雙指針* @create 2023-08-02 15:34*/
public class FourSumTest {public static void main(String[] args) {Scanner input=new Scanner(System.in);int n=input.nextInt();int[] nums=new int[n];for (int i = 0; i < nums.length; i++) {nums[i]=input.nextInt();}int target=input.nextInt();List<List<Integer>> res=fourSum(nums,target);System.out.println(res);}public static List<List<Integer>> fourSum(int[] nums, int target) {//a+b+c+d=target//對數(shù)組進(jìn)行排序Arrays.sort(nums);List<List<Integer>> res=new ArrayList<>();for (int i = 0; i < nums.length; i++) {//一級剪枝if(nums[i]>0&&nums[i]>target){return res;}//一級去重if(i>0&&nums[i]==nums[i-1]){continue;}for (int j = i+1; j < nums.length; j++) {//二級剪枝if(nums[i]+nums[j]>0&&nums[i]+nums[j]>target){break;}//二級去重if(j>i+1&&nums[j]==nums[j-1]){continue;}int left=j+1;int right= nums.length-1;while(right>left){long sum=(long)(nums[i]+nums[j]+nums[left]+nums[right]);if(sum>target){right--;} else if (sum<target) {left++;}else{//找到a+b+c+d=target的四元組res.add(Arrays.asList(nums[i],nums[j],nums[left],nums[right]));//對left、right去重while(right>left&&nums[left]==nums[left+1]){left++;}while (right>left&&nums[right]==nums[right-1]){right--;}left++;right--;}}}}return res;}
}

http://www.risenshineclean.com/news/3534.html

相關(guān)文章:

  • 我的網(wǎng)站dede網(wǎng)絡(luò)推廣要求
  • 溫州網(wǎng)站建設(shè)制作公司磁力島引擎
  • 質(zhì)量好網(wǎng)站建設(shè)商家seo怎么做推廣
  • 海晏網(wǎng)站制作外鏈?zhǔn)珍浘W(wǎng)站
  • 上海專業(yè)網(wǎng)站建設(shè)公百度一下你就知道百度一下
  • 門戶網(wǎng)站開發(fā) 項(xiàng)目實(shí)施方案全網(wǎng)推廣平臺有哪些
  • 不懂網(wǎng)站怎么做平臺項(xiàng)鏈seo關(guān)鍵詞
  • PHP 網(wǎng)站開發(fā) 重點(diǎn)知識鏈接生成二維碼
  • 怎樣做自己的公司網(wǎng)站百度在線
  • 做網(wǎng)站用c語言可以嗎軟文推廣發(fā)布
  • 家居類企業(yè)響應(yīng)式網(wǎng)站軟文廣告經(jīng)典案例200字
  • 素材網(wǎng)站pinterest搜索引擎優(yōu)化方案案例
  • 攝影網(wǎng)站app云南seo簡單整站優(yōu)化
  • 廣東東莞招工信息最新招聘蝸牛精靈seo
  • 怎么自己做刷東西網(wǎng)站如何做好品牌推廣工作
  • 外貿(mào)自己做網(wǎng)站杭州seo首頁優(yōu)化軟件
  • 組裝電腦報(bào)價(jià)網(wǎng)站源碼宣傳渠道有哪些
  • 電子網(wǎng)站開發(fā)技術(shù)包括百度公司在哪
  • 預(yù)約做家庭清潔的網(wǎng)站無排名優(yōu)化
  • 微信營銷的案例廣州抖音seo
  • wordpress file not found百度推廣seo自學(xué)
  • seo怎么優(yōu)化方法惠州搜索引擎優(yōu)化
  • 二級目錄做網(wǎng)站整合營銷傳播的六種方法
  • 西安演出公司網(wǎng)站建設(shè)希愛力5mg效果真實(shí)經(jīng)歷
  • 做單本小說網(wǎng)站怎么樣線上宣傳方案
  • 做博客網(wǎng)站要怎么配置的服四種營銷策略
  • 簡單網(wǎng)站建設(shè)軟件有哪些python培訓(xùn)
  • 海外網(wǎng)站cdn加速下載設(shè)計(jì)好看的網(wǎng)站
  • 關(guān)于網(wǎng)站建設(shè)的幾點(diǎn)體會搜索率最高的關(guān)鍵詞
  • 做視頻分享網(wǎng)站的參考書新產(chǎn)品推廣策劃方案