22、PHP 實現連續子數組的最大和、整數中1出現的次數

題目: PHP 實現連續子數組的最大和

描述:
HZ偶爾會拿些專業問題來忽悠那些非計算機專業的同學。
今天測試組開完會后,他又發話了:在古老的一維模式識別中,
常常需要計算連續子向量的最大和,當向量全為正數的時候,問題很好解決。
但是,如果向量中包含負數,是否應該包含某個負數,并期望旁邊的正數會彌補它呢?
例如:
{6,-3,-2,7,-15,1,2,2},連續子向量的最大和為8(從第0個開始,到第3個為止)。
你會不會被他忽悠住?(子向量的長度至少是1)

<?php
function FindGreatestSumOfSubArray($array)
{$sum = $array[0];$max = $sum;for($i = 1;$i<count($array);$i++){if($sum<0){$sum = $array[$i];}else {$sum += $array[$i];}if($sum>$max){$max = $sum;}}return $max;
}

題目: PHP 實現整數中1出現的次數(從1到n整數中1出現的次數)?

描述:
求出1~13的整數中1出現的次數,并算出100~1300的整數中1出現的次數?
為此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對于后面問題他就沒轍了。
ACMer希望你們幫幫他,并把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數。

<?phpfunction NumberOf1Between1AndN_Solution($str)
{settype($str, 'string');if ($str == 0 || strlen($str) == 0) {return 0;}$first = $str[0];$numFirstDigit = 0;if ($first > 1) {$numFirstDigit = powerBase10(strlen($str) - 1);} else {$numFirstDigit = substr($str, 1) + 1;}$numOtherDigits = $first * (strlen($str)-1) * powerBase10(strlen($str)-2);$numRecursive = NumberOf1Between1AndN_Solution(substr($str, 1));return $numFirstDigit + $numOtherDigits + $numRecursive;
}function powerBase10($number) {return pow(10, $number);
}

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

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

相關文章

【原創教程】一次搞定伺服原點問題(進階篇)

我們在進行伺服控制時,經常會遇到伺服原點問題,有時被其復雜的原點回歸方式弄的不知所措,本篇文章我們將伺服原點遇到的問題進行了總結,便于大家將此徹底搞明白。 1 伺服原點 1.1 原點的概念 伺服原點是指在伺服系統中的初始位置,用來標記機構的起點。其他后面的一切運…

分頁導航DOM更新實踐:JavaScript與jQuery的結合使用

分頁導航DOM更新實踐&#xff1a;JavaScript與jQuery的結合使用 在Web開發中&#xff0c;分頁導航是展示大量數據時不可或缺的UI組件。合理的分頁不僅可以提高應用性能&#xff0c;還能優化用戶體驗。本博客將通過一個實際的DOM結構和模擬數據&#xff0c;講解如何使用JavaScr…

C++ (第二天上午---函數重載和缺省參數和占位參數)

一、函數重載 1、問題的引入 在實際開發中&#xff0c;有時候我們需要實現幾個功能類似的函數&#xff0c;只是有些細節不同。例如希望交換兩個變量的值&#xff0c;這兩個變量有多種類型&#xff0c;可以是 int、float、char、bool 等&#xff0c;我們需要通過參數把變量的地…

Executors 提供了哪些創建線程池的方法?

java.util.concurrent.Executors 是一個工廠類&#xff0c;提供了一些靜態方法來創建各種類型的線程池。這些方法簡單易用&#xff0c;可以快速創建常見的線程池類型。以下是 Executors 提供的主要創建線程池的方法及其特性&#xff1a; 1. newFixedThreadPool(int nThreads) …

計算機系統基礎(二)

1.數值數據的表示 為什么采用二進制&#xff1f; 二進制只有兩種基本狀態&#xff0c;兩個物理器件就可以表示0和1二進制的編碼、技術、運算規則都很簡單0和1與邏輯命題的真假對應&#xff0c;方便通過邏輯門電路實現算術運算 數值數據表示的三要素 進位記數制&#xff08;十…

以太網常用協議——ARP協議

文章目錄 一、 ARP協議與MAC層1.TCP/IP協議2. MAC地址3. ARP映射4. ARP請求和ARP應答 二、以太網幀格式三、ARP協議1. 以太網ARP通信測試&#xff1a; 以太網使用的協議很多&#xff0c;常用的有ARP、UDP等。 再介紹具體協議之前需要先知道一些基本的概念&#xff1a; 一、 AR…

COB顯示屏與GOB顯示屏封裝方式有哪些不同?

很多用戶因為使用場景的特殊性&#xff0c;所以會選擇防護能力更強的COB顯示屏或者是GOB顯示屏&#xff0c;兩種產品從名稱上看只是有一個字母的懸殊&#xff0c;其實使用的工藝截然不同&#xff0c;GOB顯示屏通常是在SMD顯示屏的基礎上進行升級&#xff0c;而COB顯示屏則是完全…

獨立開發者系列(15)——git的使用

上一篇14文章觸發了敏感話題&#xff0c;直接未過審核&#xff0c;看來技術博客也有敏感點。 大部分情況下&#xff0c;獨立項目是你一個人開發&#xff0c;但是當你接的項目比較大的時候&#xff0c;你需要其他人的幫忙&#xff0c;這個時候你要把代碼分享給別人。因為如果你…

【分布式數據倉庫Hive】Hive的安裝配置及測試

目錄 一、數據庫MySQL安裝 1. 檢查操作系統是否有MySQL安裝殘留 2. 刪除殘留的MySQL安裝&#xff08;使用yum&#xff09; 3. 安裝MySQL依賴包、客戶端和服務器 4. MySQL登錄賬戶root設置密碼&#xff0c;密碼值自定義&#xff0c;這里是‘abc1234’ 5. 啟動MySQL服務 6…

maven設置阿里云鏡像源(加速)

一、settings.xml介紹 settings.xml是maven的全局配置文件&#xff0c;maven的配置文件存在三個地方 項目中的pom.xml&#xff0c;這個是pom.xml所在項目的局部配置文件用戶配置&#xff1a;${user.home}/.m2/settings.xml全局配置&#xff1a;${M2_HOME}/conf/settings.xml 優…

YOLOV10訓練集制作+Train+Val記錄

代碼地址&#xff1a;THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection (github.com) 一、數據制作 在這篇文章有講過如何制作數據集及代碼實現 YOLOV9訓練集制作TrainVal記錄_yolov9 train yaml-CSDN博客 二、配置文件 &#xff08;1&#xff09;代碼結構…

“私域流量:解鎖電商新機遇,共創數字化未來“

一、私域流量的戰略意義再探 步入數字化浪潮的深處&#xff0c;流量已成為企業成長不可或缺的血液。與廣泛但難以掌控的公域流量相比&#xff0c;私域流量以其獨特的專屬性和復用潛力&#xff0c;為企業鋪設了通往深度用戶關系的橋梁。它不僅賦能企業實現精準營銷&#xff0c;…

國產跨平臺高性能遠程控制軟件 RayLink,暢享高清流暢遠程辦公

不管是手機還是電腦&#xff0c;出色的硬件是好用的基礎。而其中的軟件工具&#xff0c;也是提高效率、減輕負擔的好東西。 免費的軟件工具眾多&#xff0c;當然付費工具也不少。大家可能會覺得正版軟件很貴&#xff0c;但國內軟件代理商的價格其實很實惠。 本次為大家介紹一…

CF1375D Replace by MEX 題解

題目大意 令 m e x mex mex 為序列中最小的沒有出現的數。 給你一個長度為 n n n 的序列 a a a&#xff0c;你可以進行不超過 2 n 2\times n 2n 次操作&#xff0c;使得序列 a a a 單調不降。每次操作你可以選定一個位置 p p p&#xff0c;并將 a p a_p ap? 賦值為 …

一文看盡AI繪畫工具 Stable Diffusion發展史,AI繪畫究竟發展到什么地步了?!

01、引言 Stable Diffusion 在短短兩年內發布了多個版本。最著名的版本是 1.5 和 SDXL。不過&#xff0c;還有許多其他版本值得一提。讓我們一起來探索穩定擴散模型的起源和發展。 閑話少說&#xff0c;我們直接開始吧&#xff01; 02、缺失的SD V1.0版本 Stable Diffusion…

材質相關內容整理 -ThreeJs

在Three.js中&#xff0c;材質是用來定義3D對象外觀的關鍵部分。Three.js支持多種材質文件和類型&#xff0c;每種材質都有其特定的用途和優勢。下面簡單整理了一下目前Three.js支持的材質文件和類型。 一、Three.js支持的材質文件類型 JPEG (.jpg) 和 PNG (.png) 用途&#x…

iphone新機官網驗機流程

若您想購買新款iPhone并在官方網站上驗證機器的真實性&#xff0c;可以按照以下流程進行&#xff1a; 打開蘋果官方網站&#xff08;https://www.apple.com&#xff09;。在導航欄中選擇“iPhone”選項&#xff0c;進入iPhone的產品頁面。在頁面中找到您想要購買的新款iPhone&…

C語言快速學習筆記

學習網站&#xff1a;C 語言教程 | 菜鳥教程 (runoob.com)C 語言教程 | 菜鳥教程 (runoob.com)C 語言教程 | 菜鳥教程 (runoob.com) 這個網站知識完整&#xff0c;講解清晰。 在線C語言編程工具&#xff1a;菜鳥教程在線編輯器 (runoob.com) 國外學習網站&#xff1a;C語言介…

【機器學習】機器學習的重要方法——線性回歸算法深度探索與未來展望

歡迎來到 破曉的歷程博客 引言 在數據科學日益重要的今天&#xff0c;線性回歸算法以其簡單、直觀和強大的預測能力&#xff0c;成為了眾多領域中的基礎工具。本文將詳細介紹線性回歸的基本概念、核心算法&#xff0c;并通過五個具體的使用示例來展示其應用&#xff0c;同時探…

使用conda創建虛擬環境,并將虛擬環境加載到jupyter notebook中【已解決】

使用conda創建虛擬環境&#xff0c;并將虛擬環境加載到jupyter notebook中【已解決】